Spring BeanFactoryPostProcessor最佳实践

  • 扩展点简述

Factory hook that allows for custom modification of an application context's bean definitions, adapting the bean property values of the context's underlyingbean factory.
Useful for custom config files targeted at system administrators that override bean properties configured in the application context.

  • 扩展点的生命周期及扩展点的执行时机

属于Bean的初始化阶段扩展。
执行时机为所有bean定义都被加载,但尚未实例化任何bean。

  • 扩展点的作用

比如在标准初始化之后,修改应用程序上下文的内部Bean工厂。
可以覆盖或添加属性,也可以用于初始化bean等操作。

  • 扩展点实战

/**
 * 处理时机:所有bean定义都被加载,但尚未实例化任何bean。
 */
@Component
public class TestBeanFactoryPostProcessor implements BeanFactoryPostProcessor {

    /**
     * 在标准初始化之后,修改应用程序上下文的内部Bean工厂。
     * 所有bean定义都将被加载,但尚未实例化任何bean。
     * 这甚至可以覆盖或添加属性,甚至可以用于初始化bean。
     */
    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

        System.out.println(beanFactory.containsBean("testBeanFactoryPostProcessor")); // true
    }
}

更多Spring扩展请查看专题Spring开发笔记

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容