首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >BeanPostProcessor和Spring中的初始化/销毁方法有什么不同?

BeanPostProcessor和Spring中的初始化/销毁方法有什么不同?
EN

Stack Overflow用户
提问于 2012-03-26 01:02:22
回答 2查看 49.6K关注 0票数 58

实现BeanPostProcessor接口与在Spring配置文件中使用init/destroy方法属性或实现InitializingBean/DisposableBean接口有什么不同?

EN

回答 2

Stack Overflow用户

发布于 2012-04-12 18:40:41

上面的回答清楚地解释了一些非常重要的方面。

除此之外,理解beanPostProcessor、初始化和销毁方法都是Spring bean生命周期的一部分,这一点也很重要。

BeanPostProcessor类有两个方法。

1) postProcessBeforeInitialization - as名称清楚地表明,它用于确保在初始化之前执行所需的操作。例如,您想要从远程源/服务加载某些属性文件/读取数据。

2) postProcessAfterInitialization -在将bean引用提供给应用程序之前,在初始化之后要做的任何事情。

被质疑的方法在生命周期中的顺序如下:

1) BeanPostProcessor.postProcessBeforeInitialization()

2) init()

3) BeanPostProcessor.postProcessAfterInitialization()

4)销毁()

您可以通过编写具有sysout的简单示例并检查它们的顺序来检查这一点。

票数 18
EN

Stack Overflow用户

发布于 2018-08-08 22:34:31

只是对上面所有答案的简短补充:如果您有任何通用逻辑,需要通用于所有Spring beans的通用逻辑,例如向beans注入记录器,设置属性文件,通过反射为beans的字段设置默认值;您可以将该逻辑放在一个地方:@Overriden回调(例如,如果您正在实现BeanPostProcessor接口,则为postProcessBeforeInitialization(Object arg0, String arg1) );而不是在所有beans中重复相同的逻辑。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9862127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档