春天的环境差异

时间:2014-01-17 14:30:14

标签: java spring java-ee junit

我继续研究Spring,并发现Spring环境比较是一个非常模糊的话题。很难(恕我直言)在这个主题上找到可理解的东西。

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

  • 您能否为我提供每个环境的“额外奖金”(除了与框架集成之外的其他功能性)的简要比较?
  • 你能解释一下JUnit环境是什么,它的目的是什么?

环境类型:

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

1 个答案:

答案 0 :(得分:6)

这些之间的唯一区别是您希望部署/运行应用程序。

  1. 独立
    • 通过“主要”方法运行Java应用程序。
  2. 网络
    • 将您的应用程序部署到Java Web容器(如Tomcat),作为.war文件。
  3. 的JUnit
    • 运行JUnit测试。
  4. EJB
    • 从您的应用程序访问EJB,这些EJB将通过1-3中的一个部署。
  5. 这些环境之间的差异与Spring无关。 Spring只是一个框架,它使应用程序的某些方面更容易编写。

    例如,在Web环境中,Spring提供了注释,可以轻松地将类中的方法公开为MVC控制器方法,REST或SOAP端点。这些显然是Web应用程序中常用的东西。

    在JUnit测试中,Spring-Test库使您可以将Spring上下文连接到测试中,以便您可以测试这些组件是如何连接在一起的。无论您是要作为独立应用程序还是Web应用程序进行部署,都应该使用JUnit或其他测试框架作为构建过程的一部分来测试组件。

    关于EJB,如果你还部署了EJB组件(而不是Spring),那么Spring提供了帮助程序,可以减少查找/调用它们所涉及的代码量。