Spring AOP

1.Spring AOP 代理类:ProxyFactory

待补充

2.代理何时被注入

  在bean初始化过程中,代理可以被AbstractAutoProxyCreator(实现了SmartInstantiationAwareBeanPostProcessor接口)的子类在2个地方被创建:

  1. postProcessBeforeInstantiation 实例化前,一般用于存在TargetSourceCreator时,由TargetSourceCreator创建TargetSource。创建代理后,直接返回代理Bean,不需要进行Bean的属性注入和后置方法处理。
  2. postProcessAfterInitialization Bean在属性注入和初始化后,生成代理Bean。Spring中大部分代理是通过该方式生成的。

3.postProcessAfterInitialization源码流程解析

1. 判断是否为earlyProxyReferences

2. wrapIfNecessary是否需要代理Bean

3. getAdvicesAndAdvisorsForBean 获取适用的Advisior

4. 查找所有advisor

5. 查找EligibleAdvisors

image.png

6. 总结

  1. 判断bean是否需要代理
  2. 查找所有advisior
  3. 查找Eligible advisor
  4. 调用proxyFactory创建代理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容