Spring 源码(十二)Spring 中核心的后置处理器
Stella981
• 阅读
741
BeanFactory
BeanFactoryPostProcessor
:BeanFactory
后置处理器
ConfigurationClassPostProcessor
:解析配置类的BeanFactory
后置处理器
Bean
BeanPostProcessors
:Bean 初始化前后执行的后置处理器
InstantiationAwareBeanPostProcessor
:Bean实例化前后运行的后置处理器,还负责设置属性值populateBean()
MergedBeanDefinitionPostProcessor
:实例化Bean后合并Bean定义的后置处理器(比如将@Autowired注解转换成```InjectedElement,在下一步设置值的时候用)
AutowiredAnnotationBeanPostProcessor
:对注解@Autowired的实现
CommonAnnotationBeanPostProcessor
:对注解 @Resourc的实现
ApplicationContextAwareProcessor
:主要实现了Spring Aware,上面invokeAwareMethods()方法执行力一部分Spring Aware的方法,剩下的Aware主要就是用ApplicationContextAwareProcessor来实现的。
InitDestroyAnnotationBeanPostProcessor
:主要是实现了Bean的@PostConstruct和@PreDestroy方法。
AnnotationAwareAspectJAutoProxyCreator
:AOP代理的后置处理器,AOP生成代理的地方就是在后置处理器的postProcessAfterInitialization方法中实现的。
InfrastructureAdvisorAutoProxyCreator
:自动代理创建器,仅考虑基础结构Advisor Bean,而忽略任何应用程序定义的Advisor。Spring 的事务使用的是这个后置处理器。