这三个属性是Spring框架中与AOP(面向切面编程)相关的配置。
-
EnableAspectJAutoProxy
:这是一个注解,用于开启Spring对AspectJ的自动代理功能。 -
exposeProxy
:这个属性用于配置是否需要将代理对象暴露给AOP创建的Subject,这样就可以在代理对象内部通过AopContext.currentProxy()
来获取当前的代理对象。 -
proxyTargetClass
:这个属性用于指定是否对类进行代理。如果设置为true
,Spring将使用CGLIB代理机制来创建代理,否则将使用JDK动态代理(如果可用)。
示例代码:
@Configuration @EnableAspectJAutoProxy(exposeProxy = true, proxyTargetClass = true) public class AppConfig { // 其他配置... }
在这个配置类中,开启了AspectJ的自动代理功能,同时将代理对象暴露给AOP,并且指定使用CGLIB来作为代理机制。这样就可以在AspectJ的通知中通过AopContext.currentProxy()
来获取当前的代理对象。
必看文献
https://blog.csdn.net/weixin_44941128/article/details/121959259
https://blog.csdn.net/cristianoxm/article/details/122883619
标签:Spring,AOP,EnableAspectAutoJAutoProxy,代理,proxyTargetClass,exposeProxy,属性 From: https://www.cnblogs.com/frankcui/p/18235045