【问题标题】:Spring MVC or Spring Boot for wildfly deployment用于 Wildfly 部署的 Spring MVC 或 Spring Boot
【发布时间】:2020-07-04 15:55:25
【问题描述】:

我正在将 Java Web 项目转换为 Spring 项目。 (10 个 JSP 和 5 个连接到 DB 的控制器)

我们正在使用 Wildfly 服务器进行部署。

创建 Spring Boot 项目有什么用(尽管我有执行器、启动器等设施)

创建 Spring MVC 项目并在 Wildfly 中部署战争是否可以,因为我在这里没有使用任何容器并且 Spring Boot 项目将是开销?基本上我发现我为什么要在这里使用弹簧靴?

【问题讨论】:

  • 您使用 Spring BOot(及其自动配置)这一事实并不意味着您不能部署到 Wildfly,您完全可以使用 Spring Boot 创建一个常规的 WAR 文件,并且仍然获得自动配置、执行器等
  • @M.Deinum:是的,我可以部署相同的,但它不是仅适用于 docker 类型的容器吗?
  • 它可以很好地用于战争部署,但它通常比 jar 启动器更令人头疼。
  • 不,它不仅仅适用于 docker 类型的部署。如前所述,您仍然可以建立战争,从自动配置、执行器以及传统环境中的更多内容中受益。请注意,并非所有属性(尤其是与服务器配置相关的属性)都不再适用,因为您现在拥有的是外部服务器而不是嵌入式服务器。

标签: java spring spring-boot spring-mvc wildfly


【解决方案1】:

视情况而定。

Spring boot 只是 SpringMVC + Tomcat 在一个 JAR 中(我知道,定义非常简单)。

如果您有一个现有的可用 Wildfly 服务器,请使用它。将您的 Web 应用程序编译为 WAR 并进行部署。您还将拥有更好的配置、服务器更新和服务器错误修复的可能性。至少我的情况是这样,因为我的队友对 Wildfly 有很多经验。

我们将 SpringBoot 用于小型纯 REST(微)服务(没有 HTML、JSP),因为它们实现和部署速度很快(只需运行一个 jar 文件)。所有这些应用程序都有自己的 Tomcat 服务器 - 带有自己的 PORT。如果你想要一个新的 Tomcat 版本,你必须重新编译你的应用程序。这可能是一个缺点(但不是真的)。​​

【讨论】:

  • 是的,我已经看到 Spring Boot 应用程序仅用于 Rest Services 并部署在 Docker 中。从未见过部署在服务器中的应用程序。好纠结到底要不要用
  • 它没有在 Docker 中部署,它在 Docker 中运行。作为一个自带tomcat服务器的springboot应用。
  • @fatherazrael 我会说尝试两者并获得经验。您会看到哪种解决方案更适合您。
  • Spring Boot 为部署的 JAR/WAR 嵌入或不嵌入提供了不同的选项。所以说 Spring Boot “只是 Spring MVC 和 Tomcat 在一个罐子里”是一种简单化的方式,根本不正确。您可以将它完美地用作常规 WAR,并且仍然可以从自动配置中受益。
  • @M.Deinum 我的重点是“我为什么要在这里使用spring boot”这个问题。由于它是一个完成的应用程序,包括配置、数据库连接等。在他的情况下,自动配置完全无关紧要。并且还指出这是一个非常简化的定义。如果您知道解决方案,请写下您自己的答案。
猜你喜欢
  • 2018-11-22
  • 2016-09-08
  • 2018-04-12
  • 2022-11-24
  • 2020-07-10
  • 2018-02-12
  • 1970-01-01
  • 2020-09-11
  • 2018-08-18
相关资源
最近更新 更多