我刚刚开始学习春天。在我的下一步,我想开发更大的网络应用程序。
现在我想知道我是否应该从Spring Boot或Spring MVC开始。我已经读了一些东西,但这是令人困惑的,因为两者看起来相似。
那么两者之间有什么不同呢?
我刚刚开始学习春天。在我的下一步,我想开发更大的网络应用程序。
现在我想知道我是否应该从Spring Boot或Spring MVC开始。我已经读了一些东西,但这是令人困惑的,因为两者看起来相似。
那么两者之间有什么不同呢?
当前回答
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是一个接收传入请求并将其映射到正确资源(如控制器、模型和视图)的类。
我希望这能帮助您理解其中的区别。
其他回答
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(目前)最好的框架之一,但在不久的将来它也会消亡。有一些轻量级的替代品即将问世。所以要不断更新你的经验,不要拘泥于一个特定的框架。最好的事情是精通概念,而不是框架。
这样想:
Spring MVC是一个基于web实现MVC架构的框架。
Spring Boot是一个面向程序员的工具。程序员必须专注于编程,工具必须专注于配置。所以我们不需要浪费时间配置一堆xml来创建一个简单的“Hello world”。
简单来说,它可以表述为:
Spring boot = Spring MVC +自动配置(不需要编写Spring .xml文件进行配置)+服务器(您可以有嵌入式Tomcat, Netty, Jetty服务器)。
Spring Boot是一个opiniated框架,因此它的构建考虑到了开发速度快,配置时间短,并且有很好的社区支持。
补充一点,Java Spring是一个框架,而Java Spring Boot是附加的,通过提供预配置和易于使用的组件来加速它。 总是建议在跳到Java Spring Boot之前了解Java Spring的基本概念。