文章目录
1.美图
2.概述
使用注解方式应用aop
需要在配置文件中配置<aop:aspectj-autoproxy/>
, 而该标签有两个属性,proxy-target-class
和 expose-proxy
。
2.1 proxy-target-class
如果被代理的目标对象至少实现了一个接口,则会使用JDK
动态代理,所有实现该目标类实现的接口都将被代理;
如果该目标对象没有实现任何接口,则创建CGLIB动态代理。但是可以通过proxy-target-class属性强制指定使用CGLIB代理。如果指定了proxy-target-class="true"则将强制开启CGLIB动态代理。
2.2 expose-proxy
解决目标对象内部的自我调用无法实施切面增强的问题。