java - Spring 环境差异

标签 java spring jakarta-ee junit

我一直在研究Spring,发现Spring环境比较是一个很晦涩的话题。 (恕我直言)很难找到关于该主题的可理解的内容。

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

  • 您能否向我提供每个环境的“额外奖励”(指除与框架集成之外的其他功能能力)的简要比较?
  • 您能解释一下什么是 JUnit 环境以及它的用途吗?

环境类型:

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

最佳答案

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

  1. 独立
    • 通过“main”方法运行您的 Java 应用程序。
  2. 网页
    • 将应用程序作为 .war 文件部署到 Java Web 容器(例如 Tomcat)。
  3. JUnit
    • 运行 JUnit 测试。
  4. 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/

相关文章:

java - Spring hibernate : Getting list of objects from a list of unique values

java - 如何在 spring 表单中绑定(bind)子类对象作为 modelAttribute 提交

java - NoClassDefFoundError : : org. apache.log4j.Logger

java - 如何从 Java/Android 的 Arraylist 中保留最好的 500 个关键点?

javascript - 在angulajs中转换java对象中的json时,获取嵌套异常是com.fasterxml.jackson.databind.JsonMappingException

java - 如何访问tomcat中的 session 并终止其中一个 session

c# - 请帮助我为我的本科项目选择语言和框架

java - 无法更改标签和按钮值

java - 非字段元素的反序列化回调

java - 如何删除struts2中默认的客户端错误信息?