10°

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 的事务使用的是这个后置处理器。

本文由【x】发布于开源中国,原文链接:https://my.oschina.net/xiaolyuh/blog/3158181

全部评论: 0

    我有话说: