是否建议使用Spring的预定义InitializingBean
和DisposableBean
回调,或将init-method
和destroy-method
用于initialization
和cleanup
。< / p>
我刚刚开始学习 Spring Framework ,我对以下几个语句感到困惑,
建议您不要使用 InitializingBean或DisposableBean回调,因为XML配置在命名方法方面提供了很大的灵活性。 (来自教程博客)
建议使用 Spring预定义的InitializingBean或DisposableBean回调。 (来自我的导师)
根据情景都有效吗?
答案 0 :(得分:3)
我认为这只是一个选择问题,你想要成为多少&#34;闯入&#34;春天。
就个人而言,我将这些Spring回调接口用于与Spring相关的类,例如工厂bean,方面,bean后处理器等。
对于容器应该是中性的东西,我宁愿拥有自己的初始化方法等。
这意味着,我更喜欢两者兼而有之。
答案 1 :(得分:1)
第一个不会强制您的类实现Spring专有接口,但建议使用XML来配置您的bean。坦率地说,XML非常糟糕,并且Spring长期提供Java配置或简单注释,这样就不再需要冗长,繁琐,不安全的XML配置。
答案 2 :(得分:1)
是。在Spring文档中很清楚地解释了它。
JSR-250 @PostConstruct和@PreDestroy注释通常是 被认为是接受现代生命周期回调的最佳实践 Spring应用程序。使用这些注释意味着你的bean是 没有耦合到Spring特定的接口。有关详情,请参阅章节 5.9.7,“@ PostConstruct和@PreDestroy”。
如果您不想使用JSR-250注释但仍然存在 希望删除耦合考虑使用init-method和 destroy-method对象定义元数据。