Spring 源码(十二)Spring 中核心的后置处理器
Stella981
• 阅读
920
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 的事务使用的是这个后置处理器。