2015-08-16 51 views

回答

11

Spring Boot is opinionated包含电池的弹簧设置。如果你使用它,你会浪费更少的时间在非功能上,因为你会免费获得很多东西。的优点列出我所观察到比传统的弹簧安装(当然还有更多,检查弹簧引导网站):

  • 依赖管理 - 常用库的版本是预先选择和不同的首发POM中分组你可以包含在你的项目中。通过选择一个Spring Boot版本,您可以隐式选择几十个依赖关系,您必须自行选择并协调自己。
  • 自动配置 - 您不必手动配置分派器servlet,静态资源映射,属性源加载器,消息转换器等
  • 先进的外部配置 - 有可以通过application.properties文件进行配置而不接触Java和XML配置
  • “生产就绪”功能bean属性的大名单 - 你的健康检查,应用程序和JVM指标,jmx通过http和其他一些免费的东西
  • 可运行jar包 - 你可以打包你的应用程序作为运行包含嵌入式tomcat的nable jar,因此它提供了一个独立的部署单元

我没有观察到任何缺点,它只是Spring而已。你可以创建任何你可以用“香草”春天创建的东西,只需要更快。

+0

谢谢你的解释,但Spring Boot真的用于生产(活)项目还是一些快速原型?为什么Spring Boot有主要方法,不喜欢Spring MVC吗(在网站的情况下)? –

+0

主要方法存在,所以你可以直接从jar运行项目。你也可以建立一个战争(很容易在'pom.xml'中选择),并对tomcat或其他独立的servlet包含器进行传统的部署。从那里它的工作方式与Spring MVC相同* Spring * MVC。 – mzc

+0

我知道了。在我看来,只有一种方法来部署Spring项目(通过战争并上传到Tomcat中)。 但有一件事,为什么Spring会让用户手动执行他们的工作,如果有一个Spring Boot并且没有额外的优势? –

6

这是我简单的解释:

没有春天开机,一个将不得不把所有的依赖关系的正确版本的生成配置文件(例如pom.xml中)和手动配置所有的豆类。

这看起来像很多正常项目的非功能性任务。因此,Spring Boot会自动执行这些操作,假设一些约定。例如,如果您只在您的pom.xml中包含spring-boot-starter-web依赖项,则会通过默认约定自动配置Web应用程序。

更令人感兴趣的是,默认配置的各个部分可以很容易地被覆盖。

通过几个official guides可以更好地了解Spring Boot。总而言之,除非应用程序足够异常,否则现在人们似乎更喜欢Spring Boot。 Spring Boot可以被看作只是一个配置层。所以,Spring的一切可能都应该可以使用Spring Boot。

+0

非常好的解释,所以Spring Boot使捷径发展。但为什么程序结构不同? e.q.使用Spring Boot,网站案例的主要方法,与Spring MVC不同。 –

+0

该结构是Spring Boot提供的默认结构。如果没有Spring Boot,就必须要有自己的结构。正如@mzc在他的评论中解释的那样,Spring Boot默认使用嵌入式tomcat来生成JAR/WAR。因此主要的方法。对于Web应用程序,Spring MVC将用于这两种情况:它将是Spring MVC + Spring Boot +您的定制与Spring MVC +完全布局您自己的结构。 – Sanjay

相关问题