【八】Bean工厂后置处理器BeanFactoryPostProcessor

和BeanPostProcessor类似,不过这个是在BeanFactory实例化之后的后置处理器,同样可以通过@Bean声明,方法标为static,如下两图:

【八】Bean工厂后置处理器BeanFactoryPostProcessor_第1张图片

一个典型的作用就是,可以把在spring.factories中注册的监听器去掉了,把监听中的方法挪到这个PostProcessor中,就可以在容器初始化之前进行配置,比如注册Scope、编程添加BeanPostProcessor等,可以参考Spring提供的一些实现,例如PropertyOverrideConfigurerPropertySourcesPlaceholderConfigurer

启动应用,打印如下图:

【八】Bean工厂后置处理器BeanFactoryPostProcessor_第2张图片

可以看到,BeanFactoryPostProcessor最先执行,那么也不需要通过注册ApplicationListener来监听事件再处理,方便了许多。

你可能感兴趣的:(#,重新学习Spring)