Spring MVC 或 Spring 启动

Spring MVC or Spring Boot

对于大型公司(网络)项目,您推荐使用 Spring MVC 还是 Spring-Boot?

Spring-在配置方面,与Spring MVC 相比,启动非常容易。

不知使用Spring-Boot是否也能拥有Spring MVC一样的优点?

你推荐什么?

你可以使用Spring MVC with spring boot 正如@kryger所说,它们之间是非排他性的,配置会更容易,我也推荐你使用http://www.thymeleaf.org/ 这是模板框架。使用它就像使用 JSP,但 thymeleaf 与 HTML 无缝集成,因此您的代码看起来非常干净,并且您可以添加许多有用的功能。

你绝对可以选择 Spring Boot。我们已经开始使用 Spring Boot 来构建企业应用程序。它有很多优点,下面列出一些:

  1. 您的项目配置将非常简单。无需维护 XML 文件,您只需要知道如何高效地使用 application.properties 文件即可。

  2. 提供了很多默认实现,比如如果你需要发送邮件,它提供了JavaMailSender

  3. 的默认实现
  4. Spring Hibernate 和 JPA 集成将非常简单。

这样的还有很多,大家可以根据自己的需要去发掘。

我个人的建议是一定要使用 Spring 引导,原因有很多。

  1. 首先是Boot是"future of Spring"。这意味着使用 Boot 您可以从 Spring 社区的许多承诺中受益。大部分的 Spring今天的项目完全 与 Boot 集成,甚至社区也开始开发许多 基于 Boot 的应用程序。例如用于管理和监控。 我可以建议看看 Spring Boot Admin

  2. 使用 Spring 引导,您可以受益于非常好的和有用的功能,例如 执行器和遥控器 shell 用于管理和监控,即 使用非常适合生产的功能改进您的应用程序 有用。

  3. 非常好的和强大的属性和配置控件 - 你 可以使用 application.properties/yml 配置您的应用程序 并以一种非常简单和令人印象深刻的方式扩展靴子,甚至 覆盖方面的管理非常强大

  4. 它是最早的微服务就绪平台之一,在我看来 现在是最好的!即使你不构建微服务 使用引导项目,您可以受益于使用现代方法,其中 你有一个可以从所有功能中受益的自动一致的 jar 我上面描述的或者如果你愿意你可以强加包装 作为经典 war 并将您的 war 部署在任何容器中 你要。

  5. 使用智能且约定优于配置的方法 减少您的启动和配置阶段 显着项目。事实上,您有一组入门 Maven 或 Gradle 依赖项 简化依赖管理。然后与 自动配置特性,您可以从中受益很多 标准配置,通过条件配置框架引入 在 Spring 4. 你可以用你的特定的覆盖它 配置只是根据 您可以在 Boot 的自动配置 JAR 中看到的约定 依赖。请记住 Spring 是开源的,您可以看到代码。我认为文档也很好。

  6. Spring 初始化器是一个很酷的工具,可以在 link: https://start.spring.io/ 是一个非常酷的工具,可以非常快速地创建您的项目。


我希望这个反思可以帮助你决定什么是最好的解决方案。

我认为 Spring Boot 比 MVC 更有用,因为它有许多优点和内置功能,使它比 MVC 更可靠。在 Spring Boot 中,大多数东西都是自动配置的,不需要像在 MVC 中那样编写那些 xml,这样可以节省时间。

Spring 引导将 war 文件与服务器 运行 时间捆绑在一起,如 Tomcat。这允许轻松分发和部署 Web 应用程序。随着行业转向 war 基于 ds 容器的部署,Spring Boot 在这种情况下也很有用。

Spring MVC 是 Web 应用程序框架。虽然您可以在 Spring 中完成所有事情而无需 Spring 启动,但是 Spring 启动可以帮助您更快地完成工作。

Spring 引导简化了您的 Spring 依赖关系,不再有版本冲突, 可以 运行 直接从没有应用程序容器的命令行, 用更少的代码构建更多 - 不需要 XML,甚至不需要 web.xml,自动配置,生产中 运行 的有用工具,数据库初始化,特定于环境的配置文件,收集指标。

可以找到 Spring 引导的基础知识 here

Spring 引导使用 Spring MVC!当您导入 spring-boot-starter-web jar 时,它只是自动配置并准备好使用。所以你基本上是在谈论是使用 Spring 引导还是手动设置你的 Spring 应用程序...