ApplicationContextInitializer和BeanFactoryPostProcessor之间的区别

时间:2017-05-04 18:38:01

标签: java spring applicationcontext

ApplicationContextInitializer和BeanFactoryPostProcessor之间的区别是什么?何时实现什么界面?

1 个答案:

答案 0 :(得分:3)

我对它们之间差异的理解主要是在调用它们的回调方法时。

ApplicationContextInitializer允许您在加载持久化bean定义之前进行额外的初始化(例如,您的application-context.xml)。在加载定义之前要选择配置文件时很有用。

加载bean定义时会调用

BeanFactoryPostProcessor,但不会创建bean本身。很好的例子是PropertyPlaceholderConfigurer,它用具体的值替换占位符。

您可以深入了解相关文档。 ApplicationContextInitializerBeanFactoryPostProcessor