同样的Spring 也 内置了 一些实现 BeanFactoryPostProcessor的类,各有各的用处。
spring-context
- AspectJWeavingEnabler
用来把ClassPreProcessorAgentAdapter注册到LoadTimeWeaver中 - ConfigurationClassPostProcessor
一个重要的类,用来处理@Configuration、@ComponentScan、@Import 注解 - PropertySourcesPlaceholderConfigurer
用来解析属性占位符,加载外部配置文件,支持多属性源 - EventListenerMethodProcessor
解析@EventListener注解,并注册事件到上下文中
spring-beans
- BeanDefinitionRegistryPostProcessor
接口,用来注册BeanDefinition - CustomAutowireConfigurer
用来自定义自动注入行为,自定义 @Qualifier 类型 - CustomEditorConfigurer
用来自定义属性编辑器,在文本值之间来回转换属性值 - CustomScopeConfigurer
注册自定义的作用域(scope) - DeprecatedBeanWarner
用来检测并警告标记了@Deprecated的Bean - PlaceholderConfigurerSupport
抽象类,用来解析占位符 - PreferencesPlaceholderConfigurer
标记为过期,PropertyPlaceholderConfigurer的实现类 - PropertyOverrideConfigurer
用来覆盖上下文中Bean的属性值 - PropertyPlaceholderConfigurer
过期,PlaceholderConfigurerSupport的子类 - PropertyResourceConfigurer
抽象类,属性值替换功能的父类,比如是PropertyOverrideConfigurer的父类等
作者其他文章推荐:
基于Spring Boot 3.1.0 系列文章
- Spring Boot 源码阅读初始化环境搭建
- Spring Boot 框架整体启动流程详解
- Spring Boot 系统初始化器详解
- Spring Boot 监听器详解
- Spring Boot banner详解
- Spring Boot 属性配置解析
- Spring Boot 属性加载原理解析
- Spring Boot 异常报告器解析
- Spring Boot 3.x 自动配置详解