【问题标题】:The sense of Spring Framework [closed]Spring框架的意义[关闭]
【发布时间】:2014-01-27 22:21:33
【问题描述】:

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

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

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

【问题讨论】:

  • 论坛是一个非常适合提出这个问题的地方。
  • Spring 有很多执行不同任务的模块。核心上下文系统的主要优点是依赖注入(您的类可以自动获取需要的字段,而不是手动查找它们)。 XML 配置现在其实已经很老套了,我只用新的 JavaConfig 系统。
  • @chrylis JavaConfig 到底是什么意思?通过spring注解在java代码中配置?
  • @MrPhi JavaConfig 是使用注解和代码设置上下文的工作名称,还有 @Configuration@Bean 和其他名称。

标签: java spring design-patterns spring-mvc


【解决方案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 代码以切换实现至关重要。而且您无需接触以前的实现即可实现新的第三方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2011-06-20
    相关资源
    最近更新 更多