Spring Framework的意义

时间:2014-01-09 11:31:26

标签: java spring design-patterns spring-mvc

Spring框架的主要优点是什么?

它是否失去了对象之间的依赖关系?我们可以在xml文件中设置字段的值,但是使用help xml或只是在java代码中初始化这些字段有什么区别?

这是一个非常相似的问题:What exactly is Spring Framework for?
还有其他优势吗?

1 个答案:

答案 0 :(得分:1)

这是一个很大的话题,但我会尝试解释控制反转

一个例子: 假设您有一个项目,您需要与需要与之沟通的不同第三方进行通信, 但细节不同。

最好的方法是定义通用接口

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接口。 这样,在编译期间,您不会在代码中指定要使用的ThirdPartyConnector

您可以在XML中执行此操作。

由于维护的复杂性,在大型系统中不改变Java代码以切换实现是至关重要的。而且您无需触及以前的实施即可实施新的第三方。