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
本文详细介绍了在Spring框架中使用AOP的两种配置方式:XML配置和注解配置。重点讲解了如何通过配置启用CGLIB代理及暴露代理对象,以便在内部方法调用时也能实现AOP功能。
1186

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



