出错环境
在使用spring框架时,用注解的方式使用AOP(面向切面编程)
@EnableAspectJAutoProxy()
相当于<aop:aspectj-autoproxy proxy-target-class=“false”></aop:aspectj-autoproxy>
出错截图
解决办法
将@EnableAspectJAutoProxy()
改为@EnableAspectJAutoProxy(proxyTargetClass=true)
即将<aop:aspectj-autoproxy proxy-target-class=“false”></aop:aspectj-autoproxy>
改为<aop:aspectj-autoproxy proxy-target-class=“true”></aop:aspectj-autoproxy>
表示开启 aspectj
可以通过 proxy-target-class=“true” 来控制使用 CGLIB 的方式来实现代理,false表示使用原生JDK的方式来实现动态代理;
如果被代理的类没有接口,那么尽管指定使用jdk的代理方式,但是也还是会使用CGLIB的方式来实现动态代理。