我刚刚开始学习春天。在我的下一步,我想开发更大的网络应用程序。

现在我想知道我是否应该从Spring Boot或Spring MVC开始。我已经读了一些东西,但这是令人困惑的,因为两者看起来相似。

那么两者之间有什么不同呢?


当前回答

SpringBoot实际上是预配置的,减少了锅炉配置,并提供了最简单或快速的方式来启动应用程序。

SpringBoot将令人头痛的配置问题从开发人员转移到它自己,而不是Spring。

隐式SpringBoot基于Spring框架概念,如bean、控制器、服务、jpa等。

可以说SpringBoot是Spring的包装器。

在SpringBoot中,服务器的默认端口是8080,但如果你想改变,那就去你的应用程序。属性和写入

server.port = 8084

其他回答

Without repeating the same thing in previous answers, I'm writing this answer for the people who are looking to starting a new project and don't know which is the best framework to startup your project. If you are a beginner to this framework the best thing I prefer is Use spring boot(with STS /Spring Tool Suite). Because it helps a lot. Its do all configurations on its own. Additionally, use Hibernate with spring-boot as a database framework. With this combination, your application will be the best. I can guarantee that with my experiences.

即使这是JEE(目前)最好的框架之一,但在不久的将来它也会消亡。有一些轻量级的替代品即将问世。所以要不断更新你的经验,不要拘泥于一个特定的框架。最好的事情是精通概念,而不是框架。

补充一点,Java Spring是一个框架,而Java Spring Boot是附加的,通过提供预配置和易于使用的组件来加速它。 总是建议在跳到Java Spring Boot之前了解Java Spring的基本概念。

Spring MVC is a complete HTTP oriented MVC framework managed by the Spring Framework and based in Servlets. It would be equivalent to JSF in the JavaEE stack. The most popular elements in it are classes annotated with @Controller, where you implement methods you can access using different HTTP requests. It has an equivalent @RestController to implement REST-based APIs. Spring boot is a utility for setting up applications quickly, offering an out of the box configuration in order to build Spring-powered applications. As you may know, Spring integrates a wide range of different modules under its umbrella, as spring-core, spring-data, spring-web (which includes Spring MVC, by the way) and so on. With this tool you can tell Spring how many of them to use and you'll get a fast setup for them (you are allowed to change it by yourself later on).

因此,Spring MVC是一个用于web应用程序的框架,Spring Boot是一个基于Spring的生产就绪项目初始化器。您可能会发现访问Spring MVC标记wiki以及SO中的Spring Boot标记wiki很有用。

Spring MVC是Spring框架的子项目,针对使用MVC(模型-视图-控制器)模式的应用程序的设计和开发。Spring MVC被设计成与Spring框架和大多数其他子项目完全、完整地集成。

Spring Engineering团队可以从这篇文章中很好地理解Spring Boot。它被认为是固执己见的,也就是说,它大力提倡某种快速开发风格,但它的设计足够好,可以容纳规则的例外。简而言之,它是一种优于配置方法的约定,它愿意理解您在必要时打破约定的需求。

Spring MVC和Spring Boot存在的目的不同。因此,将彼此作为竞争者进行比较是不明智的。

什么是Spring Boot?

Spring Boot是一个用合理的默认值打包Spring应用程序的框架。这是什么意思?你正在使用Spring MVC, Spring Data, Hibernate和Tomcat开发一个web应用程序。如何将此应用程序打包并部署到web服务器。到目前为止,我们必须手动编写配置,XML文件等部署到web服务器。

Spring Boot通过项目中的Zero XML配置为您完成这一任务。相信我,你不需要部署描述符,web服务器等。Spring Boot是一个神奇的框架,它为您捆绑了所有依赖项。最后,您的web应用程序将是一个带有嵌入式服务器的独立JAR文件。

如果你仍然不明白这是如何工作的,请阅读关于使用spring引导开发微服务框架的文章。

什么是Spring MVC?

它是一个传统的web应用程序框架,帮助您构建web应用程序。它类似于Struts框架。

Spring MVC是一个用于构建web应用程序的Java框架。它遵循模型-视图-控制器设计模式。它实现了核心spring框架的所有基本特性,如控制反转、依赖注入。

Spring MVC借助DispatcherServlet为在Spring框架中使用MVC提供了一种优雅的解决方案。在这里,DispatcherServlet是一个接收传入请求并将其映射到正确资源(如控制器、模型和视图)的类。

我希望这能帮助您理解其中的区别。