2014-01-17 53 views
0

我一直在研究Spring,并发现Spring环境比较是一个非常隐晦的话题。要找到可以理解的话题是非常困难的(恕我直言)。春季环境差异

我对每个Spring环境的意图都有一个模糊的理解(下面会提到),但是不能把握它们之间的区别。我的意思是,我明白EJB环境注定要与EJB框架集成。但是与Standalone相比,它获得了一些额外奖金吗?什么奖金?所以我的问题是:

  • 你能为我提供“额外奖金”的简单比较(指附加功能abbilities除了与框架集成的)每个环境的?
  • 你能解释一下,JUnit环境是什么,它的目的是什么?

环境类型:

  1. 独立
  2. 网络
  3. 的JUnit
  4. EJB

回答

6

它们之间唯一的区别是,你希望如何部署/运行应用程序。

  1. 独立
    • 通过一个 “主” 的方法运行Java应用程序。
  2. 网络
    • 将应用程序部署到Java Web容器,如Tomcat,作为.war文件。
  3. 的JUnit
    • 运行JUnit测试。
  4. EJB
    • 访问你的应用程序,将已通过的1-3一个部署的EJB。

这些环境之间的差别无关与Spring。 Spring只是一个框架,它使应用程序的某些方面更容易编写。例如,在一个Web环境中,Spring提供了注释,这些注释可以很容易地将类中的方法公开为MVC控制器方法,REST或SOAP端点。这些显然是Web应用程序中通常需要的东西。

在JUnit测试中,Spring-Test库使您能够将Spring上下文连接到测试中,以便测试这些组件如何连接到一起。无论您打算作为独立应用程序还是Web应用程序进行部署,您都应该使用JUnit或其他测试框架作为构建过程的一部分来测试组件。对于EJB,如果你还部署了EJB组件(而不是Spring),那么Spring提供了帮助程序,它们可以减少查找/调用它们所涉及的代码量。

+0

+1很好的答案。 –

+0

同意。我认为Steve应该得到赏金:) – Hrishikesh

+0

我也同意了)。感谢史蒂夫 –