SpringBoot扩展点–BeanFactoryPostProcessor
一、概述
源码基于SpringBoot 2.7.xx版本
1.1 简介
BeanFactory 后置处理器,是对 BeanDefinition 对象进行修改。(BeanDefinition:存储 bean 标签的信息,用来生成 bean 实例)。
1.2 分类
BeanFactoryPostProcessor分为两类:
- BeanFactoryPostProcessor
- BeanDefinitionRegistryPostProcessor
BeanDefinitionRegistryPostProcessor继承了BeanFactoryPostProcessor接口,对其进行了扩展。
BeanFactoryPostProcessor继承关系:
- BeanFactoryPostProcessor
- PropertySourceOrderingBeanFactoryPostProcessor
- EventListenerMethodProcessor
- BeanDefinitionRegistryPos
本文详细介绍了SpringBoot扩展点BeanFactoryPostProcessor及其子类BeanDefinitionRegistryPostProcessor的作用、分类、回调时机和原理。BeanFactoryPostProcessor在所有bean定义加载后,实例化前调用,用于修改BeanDefinition。而BeanDefinitionRegistryPostProcessor则更早于BeanFactoryPostProcessor被调用,用于处理@Configuration等注解的扫描和加载。ConfigurationClassPostProcessor作为重要的实现类,负责处理@Configuration注解的类,确保@Bean的单例性。
订阅专栏 解锁全文
494





