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开发笔记。

你可能感兴趣的:(Spring BeanFactoryPostProcessor最佳实践)