近看Bean实例生成
首先看下Spring是怎么保证单例的,时序图如下:
下图是Bean实例化的两种途径:
下图是Bean实例化的常规途径:
以上逻辑是实例化Bean的主要逻辑,里面最重要的是应用各种BeanPostProcessor,而这些BeanPostProcessor中最为出彩的是InfrastructureAdvisorAutoProxyCreator(使用AspectJ形式注解AOP时为AnnotationAwareAspectJAutoProxyCreator)。InfrastructureAdvisorAutoProxyCreator通过继承树中AbstractAutoProxyCreator实现了大部分主要逻辑。那现在我们就通过BeanPostProcessor这座桥梁迈进AOP的大门:迈进AOP的大门。
附录:
- BeanPostProcessor类图
- BeanPostProcessor-InstantiationAwareBeanPostProcessor类图
- BeanPostProcessor-AbstractAutoProxyCreator类图
- BeanPostProcessor-MergedBeanDefinitionPostProcessor类图
- BeanPostProcessor-DestructionAwareBeanPostProcessor类图
- BeanPostProcessor-AbstractAdvisingBeanPostProcessor类图
快速导航: