Spring, SpringBoot之占位符源码解析

BeanFactoryPostProcessor 类作用:

1、允许自定义修改应用程序上下文的Bean定义,调整上下文的基础bean工厂的bean属性值。应用程序上下文可以自动检测BeanFactoryPostProcessor中的bean它们的bean定义,并在创建任何其他bean之前应用它们。对于针对系统管理员的自定义配置文件很有用,覆盖在应用程序上下文中配置的Bean属性。请参阅PropertyResourceConfigurer及其具体实现用于解决此类配置需求的现成解决方案;

2、BeanFactoryPostProcessor可以与Bean交互并对其进行修改定义,但绝不提供bean实例。 这样做可能会导致bean过早实例化,违反了容器并造成了意外的副作用。如果需要bean实例交互,请考虑实现BeanPostProcessor代替;

方法 void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) 作用:

 按照标准修改应用程序上下文的内部bean工厂初始化。 所有bean定义都将被加载,但是没有bean将被实例化。 这允许覆盖或添加属性,即使对eager-initializing beans

BeanFactoryPostProcessor与BeanPostProcessor区别

BeanFactoryPostProcessor绕坑而过

Spring Hook大法

Spring之BeanFactoryPostProcessor与BeanPostProcessor剖析

高阶讲解BeanFactoryPostProcessor

改变bean定义就靠它

spring扩展功能深度解读

原文地址:https://www.cnblogs.com/yixiu868/p/12898960.html