实现接口紧耦合?

时间:2014-01-13 09:50:54

标签: spring coupling tightly-coupled-code

它说here

  

我不建议使用InitializingBean和DisposableBean   接口,因为它会将你的代码紧密耦合到Spring

有意义吗?我认为这与紧耦合相反。

2 个答案:

答案 0 :(得分:2)

这里的作者意味着,如果您让应用程序类实现InitializingBean和DisposableBean接口(这是特定于Spring的接口),那么您将使用spring耦合代码。 将来如果spring重命名这些接口(虽然不太可能),或者你停止使用spring,你将不得不更新你的类代码。

相反,如果你在bean配置中使用init-method和destroy-method属性,那么你的类独立于spring,即你的类在spring特定类上没有依赖。

希望它有所帮助。

答案 1 :(得分:1)

我认为这里的想法是不要对你的代码创建任何依赖以弹出注释,参见

import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;

当您明确声明这种依赖关系时,您将代码耦合到spring jar。

在另一个例子中 - http://www.mkyong.com/spring/spring-init-method-and-destroy-method-example/ - 它显示了如何使用XML中定义的约定方法。没有弹簧进口。