您现在的位置是:首页 >技术杂谈 >Spring aop如何寻找advisor网站首页技术杂谈
Spring aop如何寻找advisor
1.bean的生命周期第一步回去解析所有的advisor

2.第四个是我们之前开启的注解@EnableAspectJAutoProxy

3.org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator#postProcessBeforeInstantiation

4.org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator#isInfrastructureClass

false
5.

6.
 7. org.springframework.aop.aspectj.annotation.BeanFactoryAspectJAdvisorsBuilder#buildAspectJAdvisors
7. org.springframework.aop.aspectj.annotation.BeanFactoryAspectJAdvisorsBuilder#buildAspectJAdvisors
判断当前bean上是否有@Aspect

8.org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory#getAdvisors
===================下面开始解析after===============
org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator#postProcessAfterInitialization
 
 

 
 org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator#findCandidateAdvisors
总结:首先执行bean的生命周期第一步,会去寻找所有的@Aspect的bean,然后遍历里面的所有方法,判断是否有5个advice,如果有的话把其加入到advisors中,最后的到的产物:

 
 
 
            




 U8W/U8W-Mini使用与常见问题解决
U8W/U8W-Mini使用与常见问题解决 QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。... stm32使用HAL库配置串口中断收发数据(保姆级教程)
stm32使用HAL库配置串口中断收发数据(保姆级教程) 分享几个国内免费的ChatGPT镜像网址(亲测有效)
分享几个国内免费的ChatGPT镜像网址(亲测有效) Allegro16.6差分等长设置及走线总结
Allegro16.6差分等长设置及走线总结