关于三大框架整合问题。。

img
lao师这个怎么不是依赖注入carservice实现类,而是注入一个carservice接口?
接口里

img
这方法怎么调用的dao里的mapper的方法从而获取数据库的数据呢
有点不理解

依赖注入的是接口,实际上找的是对应的实现类,这是多态的体现。

@Autowired
CardService cardService;
等价于:
CardService cardService =new CardServiceImpl();

要调用dao层里面的方法,你还缺少Service接口的实现类,在实现类中去调用Dao层的方法。
如有帮助,望点击我回答右上角【采纳】按钮支持一下。

1.spring默认是JDK动态代理,对实现类对象做增强得到的增强类与实现类是兄弟关系,所以不能用实现类接收增强类对象,只能用接口接收。
而如果非要将对象注入给实现类而非接口的话,就让Spring强制使用Cglib代理:cglib代理类和实现类之间是父子关系,自然可以用父类(实现类)去接收子类对象(代理类对象即增强类对象)。不过应该不会需要这么做,使用接口本来就是解耦的,你直接用实现类接收注入对象岂不是失去了注入的意义。(为什么不直接new一个呢?)
2.写carservice的实现类 实现类里面注入dao层,使用dao调用对应的方法(你的dao中mapper实现你获取数据库数据的方法)

  1. 注入接口还是实现类不用太纠结,怎么都行,Service直接注入实现类也可以。
  2. 注入的接口的话,Spring会自动找这个接口对应的实现类,调用这个实现类的相应的方法。

这就是spring里面的一个di依赖注入。spring已经帮我们处理好了

Spring帮助我们注入的实现类,我们声明一下要注入的接口就好了