</pre>在进行注入的时候没有使用接口 ,而是直接使用的实现类,所以出现了错误<p></p><p>例如:</p><p> </p><pre name="code" class="java"> 应该使用 private IGroupService groupService; 进行注入,
而我使用的是 private GroupService groupService;
GroupService是IGroupService的一个实现类
引用:
在spring中@Transaction是通过AOP实现的,而spring对AOP有两种实现方式,一种是动态代理,它是通过接口方式实现的,要求所代理的类一定是实现了某一个接口,对一般的类就无法代理,spring默认是这种;通过设置proxy-target-class="true",则是使用CGLIB实现AOP,CGLIB直接生成二进制码,使得普通类也可以实现AOP。在没有设置proxy-target-class="true"时,使用动态代理,是一个临时生成的类,如proxy17,它不是@Resource指定的类,因此出现了上述错误。
本文探讨了在Spring框架中使用AOP时遇到的问题,特别是当尝试直接注入实现类而不是接口时出现的错误。文章解释了如何正确地进行依赖注入,并介绍了Spring中AOP的两种实现方式:动态代理和CGLIB。
1613

被折叠的 条评论
为什么被折叠?



