spring AdvisorAutoProxyCreator简介

9月 23, 2021 |

DefaultAdvisorAutoProxyCreator ,基于上下文中所有的advisor简单的代理创建器实现
AspectJAwareAdvisorAutoProxyCreator 能处理AspectJ相关规则和advice
<aop:aspectj-autoproxy /> 导致 AnnotationAwareAspectJAutoProxyCreator?注册,该bean扩展于 AspectJAwareAdvisorAutoProxyCreator,支持@AspectJ注解

定义一个advisor,advisor中封装了pointcut(什么地方应用advice), advice就是在该pointcut处增强的逻辑
今天发现老项目中每个bean被代理了两次, 经过debug发现是shiro模块向上下文中手动注册了一个DefaultAdvisorAutoProxyCreator,而<aop:aspectj-autoproxy />注解注入了AnnotationAwareAspectJAutoProxyCreator, 从而导致bean被代理了两次。

Posted in: spring practise

Comments are closed.