Spring框架的主要优点是什么?
是否失去了对象之间的依赖关系?我们可以在 xml 文件中设置字段的值,但是使用 help xml 初始化这些字段或简单地在 java 代码中初始化这些字段有什么区别?
这是非常相似的问题:What exactly is Spring Framework for?
还有其他优点吗?
最佳答案
这是一个很大的话题,但我会尝试解释控制反转
一个例子: 假设您有一个项目,需要与不同的第三方进行沟通, 但细节有所不同。
最好的方法是定义一个通用接口(interface)
public interface ThirdPartyConnector{
public String sendRequest(String data);
}
您的第一个第三方的实现可能如下:
public class FirstThirdPartyConnector implements ThirdPartyConnector{
public String sendRequest(String data){
//implementation details
}
}
您的第二个第三方:
public class SecondThirdPartyConnector implements ThirdPartyConnector{
public String sendRequest(String data){
//implementation details
}
}
等等...
现在,在你的java代码中,当与这些第三方通信时,
您永远不会使用 new
关键字实例化它们,而是使用 ThirdPartyConnector
接口(interface)。
这样,在编译时,您无需在代码中指定要使用的 ThirdPartyConnector
。
您可以使用 XML 来完成此操作。
由于维护的复杂性,在大型系统中不更改 Java 代码来切换实现至关重要。而且您无需触及以前的实现即可实现新的第三方。
关于java - Spring框架的意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21018997/