是否建议使用Spring预定义的InitializingBean和DisposableBean回调?

时间:2015-04-29 05:01:40

标签: java spring

是否建议使用Spring的预定义InitializingBeanDisposableBean回调,或将init-methoddestroy-method用于initializationcleanup。< / p>

我刚刚开始学习 Spring Framework ,我对以下几个语句感到困惑,

  1. 建议您不要使用 InitializingBean或DisposableBean回调,因为XML配置在命名方法方面提供了很大的灵活性。 (来自教程博客)

  2. 建议使用 Spring预定义的InitializingBean或DisposableBean回调。 (来自我的导师)

  3. 根据情景都有效吗?

3 个答案:

答案 0 :(得分:3)

我认为这只是一个选择问题,你想要成为多少&#34;闯入&#34;春天。

就个人而言,我将这些Spring回调接口用于与Spring相关的类,例如工厂bean,方面,bean后处理器等。

对于容器应该是中性的东西,我宁愿拥有自己的初始化方法等。

这意味着,我更喜欢两者兼而有之。

答案 1 :(得分:1)

第一个不会强制您的类实现Spring专有接口,但建议使用XML来配置您的bean。坦率地说,XML非常糟糕,并且Spring长期提供Java配置或简单注释,这样就不再需要冗长,繁琐,不安全的XML配置。

我只想使用标准PostConstruct and PreDestroy annotations

答案 2 :(得分:1)

是。在Spring文档中很清楚地解释了它。

  

JSR-250 @PostConstruct和@PreDestroy注释通常是   被认为是接受现代生命周期回调的最佳实践   Spring应用程序。使用这些注释意味着你的bean是   没有耦合到Spring特定的接口。有关详情,请参阅章节   5.9.7,“@ PostConstruct和@PreDestroy”。

     

如果您不想使用JSR-250注释但仍然存在   希望删除耦合考虑使用init-method和   destroy-method对象定义元数据。