同样的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的父类等