Bootstrap

BeanFactoryPostProcessor的详解与案例

BeanFactory的功能

  1. beanFactoryPostProcessor接口可以在bean未被实例化之前获取bean的定义即配置元数据,然后根据需要进行更改。
  2. beanFactoryPostProcessor里有方法 void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException; 此方法可以通过beanFactory可以获取bean的定义信息,并可以修改bean的定义信息。
  3. 可以在spring配置文件中定义多个beanFactoryPostProcessor,执行顺序按照定义顺序执行,也可以根据order属性自己定义执行顺序。

代码演示

代码结构图

在这里插入图片描述

1. 实例对象Bean User

@Component
public class User {
   
    private String userName = "张三";
    public String getUserName() {
   
        return userName;
    }
    public void setUserName(String userName) {
   
        this.userName = userName;
    }
}

2. 自定义BeanFactoryPostProcessor

MyBeanFactoryPostProcessor01, MyBeanFactoryPostProcessor02, MyBeanFactoryPostProcessor03

@Component
public class MyBeanFactoryPostProcessor01 implements BeanFactoryPostProcessor, Ordered {
   
    @Override
    public void 
;