弹簧参考手册指出:您没有注入接口,因此需要使用CGLIB代理:
Spring AOP默认将标准J2SE动态代理用于AOP代理。这使得可以代理任何接口(或一组接口)。
Spring
AOP也可以使用CGLIB代理。这是代理类而不是接口所必需的。如果业务对象未实现接口,则默认情况下使用CGLIB。由于对接口而非类进行编程是一种好习惯,因此业务类通常将实现一个或多个业务接口。
Spring决定使用J2SE
proxy(
com.sun.proxy.$Proxy57)可能是因为
CrudService实现了一个接口。要强制使用CGLIB,您可以调整XML:
<aop:aspectj-autoproxy proxy-target-/>



