当前位置:网站首页>BeanFactoryPostProcessor 与 BeanPostProcessor 相关子类概述

BeanFactoryPostProcessor 与 BeanPostProcessor 相关子类概述

2022-07-04 05:16:00 小刘说

BeanFactoryPostProcessor

主要用于处理 BeanFactory 和 BeanDefinition
在这里插入图片描述

子类概述

类图
在这里插入图片描述

  • BeanDefinitionRegistryPostProcessor
    主要针对的操作对象是 BeanDefinition

  • ConfigurableListableBeanFactory
    1、解析加了@Configuration的配置类
    2、解析@ComponentScan扫描的包
    3、解析@ComponentScans扫描的包
    4、解析@Import注解

  • PlaceholderConfigurerSupport
    用于解析bean定义中属性值里面的占位符

  • DeprecatedBeanWarner
    检测废弃的bean对象,并记录用户指定的bean类型

  • CustomScopeConfigurer
    自定义作用域的配置器

  • EventListenerMethodProcessor
    1、解析@EventListener,获取拦截方法
    2、对拦截方法进行转换,变成ApplicationListener
    3、将转换的ApplicationListener放到Spring容器中

  • CustomAutowireConfigurer
    允许方便地注册自定义autowire限定符类型

  • CustomEditorConfigurer
    此类用来方便的注册一个用户自定义的属性编辑器

BeanPostProcessor

在实例化属性注入后或初始化完成后调用
在这里插入图片描述

子类概述

类图
在这里插入图片描述

  • ApplicationContextAwareProcessor
    向某些实现了Aware的接口的bean设置ApplicationContext中的相应属性
    在这里插入图片描述

  • ApplicationListenerDetector
    此类用来检测bean是否实现了 ApplicationListener 接口,两个作用:
    1、实例化完成之后,如果bean的单例的并且属于 ApplicationListener 接口,则加入到多播器中
    2、bean销毁之前,如果bean是一个 applicationListener ,则从多播器中提前删除

  • CommonAnnotationBeanPostProcessor
    负责解析@Resource@WebServiceRef@EJB三个注解

  • AutowiredAnnotationBeanPostProcessor
    完成bean中@Autowired@Inject@Value注解的解析并注入的功能

  • AbstractAutoProxyCreator
    ProxyProcessorSupport 的重要子类。SpringAOP中的核心类。
    实现了SmartInstantiationAwareBeanPostProcessor、BeanFactoryAware接口。
    自动创建代理对象的类。我们在使用AOP的时候基本上都是用的这个类来进程Bean的拦截,创建代理对象。

  • AbstractAdvisorAutoProxyCreator
    AbstractAutoProxyCreator 的子类。SpringAOP中的核心类。用来创建Advisor和代理对象。

  • AspectJAwareAdvisorAutoProxyCreator
    AbstractAdvisorAutoProxyCreator 的子类。使用AspectJ语法创建Advisor和代理对象。

其他

02 Spring 源码总结 - invokeBeanFactoryPostProcessors()
04 Spring 源码总结 - registerBeanPostProcessors()

原网站

版权声明
本文为[小刘说]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_33512765/article/details/125555171