</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指定的类,因此出现了上述错误。