我一直在研究Spring,发现Spring环境比较是一个很晦涩的话题。 (恕我直言)很难找到关于该主题的可理解的内容。
我对每个Spring环境的意图有一个模糊的了解(下面提到),但无法掌握它们之间的区别。我的意思是,我理解 EJB 环境注定要与 EJB 框架集成。但与单机版相比,它有一些额外的奖励吗?什么奖金?所以我的问题是:
- 您能否向我提供每个环境的“额外奖励”(指除与框架集成之外的其他功能能力)的简要比较?
- 您能解释一下什么是 JUnit 环境以及它的用途吗?
环境类型:
- 独立
- 网络
- JUnit
- EJB
最佳答案
它们之间的唯一区别是您希望如何部署/运行应用程序。
- 独立
- 通过“main”方法运行您的 Java 应用程序。
- 网页
- 将应用程序作为 .war 文件部署到 Java Web 容器(例如 Tomcat)。
- JUnit
- 运行 JUnit 测试。
- EJB
- 从您的应用程序访问 EJB,该应用程序已通过 1-3 之一进行部署。
这些环境的差异与Spring无关。 Spring 只是一个框架,它使应用程序的某些方面更容易编写。
例如,在 Web 环境中,Spring 提供了注释,可以轻松地将类中的方法公开为 MVC Controller 方法、REST 或 SOAP 端点。这些显然是 Web 应用程序中通常需要的东西。
在 JUnit 测试中,Spring-Test 库使您能够将 Spring 上下文连接到测试中,以便您可以测试这些组件是如何连接在一起的。无论您打算部署为独立应用程序还是 Web 应用程序,您都应该在构建过程中使用 JUnit 或其他测试框架来测试您的组件。
对于 EJB,如果您还部署了 EJB 组件(不是 Spring),那么 Spring 会提供帮助程序,让您减少查找/调用它们所涉及的代码量。
关于java - Spring 环境差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21188271/