1、使用xml时的配置:
<aop:aspectj-autoproxy expose-proxy="true" proxy-target-class="true"/>
属性说明:
①boolean proxyTargetClass() default false;
描述:启用cglib代理,proxyTargetClass默认为false。
②boolean exposeProxy() default false;
描述:如果在一个方法中,调用内部方法,需要在调用内部方法时也能够进行代理,比如内部调用时,使用
(IService)AopContext.currentProxy().sayHello(),需要将exposeProx设置为true,默认为false。
2、使用注解@EnableAspectJAutoProxy配置
@EnableAspectJAutoProxy(proxyTargetClass=true, exposeProxy=true)
注:也可以不使用@EnableAspectAutoProxy注解开启AspectJ自动代理技术,可以在spring boot的默认配置appllication.properties中进行配置,配置如下:
# 增加@EnableAspectJAutoProxy
spring.aop.auto=true
# 开启CGLIB代理
spring.aop.proxy-target-class=true