允许自定义修改应用程序上下文的bean定义,调整上下文中下级工厂的BEAN属性值。应用程序上下文可以在它们的bean定义中自动检测BeanFactoryPostProcessor bean,并在创建任何其他bean之前应用它们。用于针对覆盖应用程序上下文中配置的bean属性的系统管理员的自定义配置文件。有关解决此类配置需求的开箱即用解决方案,请参见PropertyResourceConfigurer及其具体实现。BeanFactoryPostProcessor可以与bean定义交互并修改bean定义,但是永远不要使用bean实例。这样做可能会导致bean的过早实例化,违反容器并造成意外的副作用。如果需要bean实例交互,可以考虑实现{@link BeanPostProcessor}。
void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;
在上下文的内部bean工厂标准初始化之后修改它。将加载所有bean定义,但是还没有实例化bean。这甚至允许覆盖或添加属性到急启动bean。