如果直接注入实现类会出现没有对应的bean,因为我们通过实现类来继承的接口,使用的是jdk提供的动态代理方法。
cglib的注入,既继承接口实现注入又可以使用实现类来注入的方式。
- JDK 代理 : 基于接口的动态代理技术
- cglib 代理:基于父类的动态代理技术
解决方案:
1.默认:直接通过jdk去生成动态代理类,(原理要求必须实现接口)
2.通过cglib去实现接口,直接使用代理类,而不能实现接口。
<aop:config proxy-target-class="true">
即可使用cglib,使用注解注入实现类