Spring 源码(十二)Spring 中核心的后置处理器

BeanFactory

  • BeanFactoryPostProcessorBeanFactory后置处理器
  • 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 的事务使用的是这个后置处理器。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容