网站上传到虚拟服务器,如何建立自己的商城网站,帮别人制作网页多少钱,网站建设叁金手指花总7首先理解spring的注解注入dao接口的目的是什么#xff0c;是为了接口不用进行实例化就可以被任何一个类去调用 我昨天下午就是发现#xff0c;不同的类#xff0c;一模一样的注解#xff0c;为什么前面的类可以使用注解调用mapper的sql查询#xff0c;但是 第二个类死活无… 首先理解spring的注解注入dao接口的目的是什么是为了接口不用进行实例化就可以被任何一个类去调用 我昨天下午就是发现不同的类一模一样的注解为什么前面的类可以使用注解调用mapper的sql查询但是 第二个类死活无法执行注解进行sql查询写一段代码大家可能更清楚一些。 如果有两个类A和B public class A { Autowired private IBankDao bankDao; public void getdata(){ String str null; //下面这一行调用接口是执行的 str bankDao.getdate(03003,15000000); } } public class B { Autowired private IBankDao bankDao; public void getdata(){ String str null; //下面这一行调用接口是执行的 str bankDao.getdate(03003,15000000); }} 那么A类和B类都是可以调用Dao层执行mapper里面的sql语句的但是我遇到的问题是B类嵌入A类当中 代码如下 public class A { Autowired private IBankDao bankDao; public void getdata(){ String str null; //下面这一行调用接口是执行的 str bankDao.getdate(03003,15000000); B b new B(); //使用New之后B类的注解就不起作用了 b.getdata(); }} 此时B中的Dao层失效了我还尝试了不使用New方法直接使用B类调用自己的方法但是B类要调用自己的方法 那么方法必须是静态的。代码如下 public class A { Autowired private IBankDao bankDao; public void getdata(){ String str null; //下面这一行调用接口是执行的 str bankDao.getdate(03003,15000000); //使用B类调用方法注解还是不起作用 B.getdata(); }} public class B { Autowired private static IBankDao bankDao;//连这个都必须变成静态了因为上面的A类中使用B类调用自己的方法B的getdate方法变成静态了 那么private IBankDao bankDao 也必须变成静态的了 所以就不起作用了。 public static void getdata(){ String str null; //下面这一行调用接口是执行的 str bankDao.getdate(03003,15000000); }} 看重点大家可能已经明白了就是有注解的类不能new也不能有静态方法调用dao层正确的是下面的代码A类和B类都可以调用dao层 public class A { Resource(name b) private B b; Autowired private IBankDao bankDao; public void getdata(){ String str null; str bankDao.getdate(03003,15000000); b.getdata(); }} Servicepublic class B { Autowired private IBankDao bankDao; public void getdata(){ String str null; str bankDao.getdate(03003,15000000); }}转载于:https://www.cnblogs.com/cyb-652356/p/10683188.html