如果自定义实现了BeanFactoryPostProcessor接口,那么想让spring识别到的话,有两种方式:
1 定义在spring的配置文件中,让spring自动识别
2 调用具体的addBeanFactoryPostProcessor方法
方法1 的代码实现
定义实现BeanFactoryPostProcessor接口 的类 MyBeanFactoryPostProcessor,代码如下:
- import org.springframework.beans.BeansException;
- import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
- import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
-
- /**
- * @author Administrator
- * @title: MyBeanFactoryPostProcessor
- * @projectName spring
- * @description: TODO
- * @date 2022/3/1121:22
- */
- public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
-
- @Override
- public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
- //BeanDefinition a = beanFactory.getBeanDefinition("a");
- System.out.println("设置 BeanDefinition ----------- ");
-
- }
- }
在spring-context.xml 文件中定义bean,类为 MyBeanFactoryPostProcessor。

方法2:
首先定义实现BeanFactoryPostProcessor接口 的类 MyBeanFactoryPostProcessor,代码法1所示。
其次是在启动类中重写 customizeBeanFactory()方法,调 用 super.addBeanFactoryPostProcessor() 添加自定义类。代码如下:
