谈到Spring Boot,就让我们先来了解它的优点。依据官方的文档,Spring Boot的优点如下:

•创建独立的Spring应用程序;

•嵌入的Tomcat、Jetty或者Undertow,无须部署WAR文件;

•允许通过Maven来根据需要获取starter;

•尽可能地自动配置Spring;

•提供生产就绪型功能,如指标、健康检查和外部配置;

•绝对没有代码生成,对XML没有要求配置。

这段描述告诉我们,首先Spring Boot是一个基于Spring框架搭建起来的应用,其次它会嵌入Tomcat、Jetty或者Undertow等服务器,并且不需要传统的WAR文件进行部署,也就是说搭建Spring Boot项目并不需要单独下载Tomcat等传统的服务器;同时提供通过Maven(或者Grandle)依赖的starter,这些starter可以直接获取开发所需的相关包,通过这些starter项目就能以Java Application的形式运行Spring Boot的项目,而无须其他服务器配置;对于配置,Spring Boot提供Spring框架的最大自动化配置,大量使用自动配置,使得开发者对Spring的配置尽量减少;此外还提供了一些监测、自动检测的功能和外部配置,与此同时没有附加代码和XML的配置要求。

约定优于配置,这是Spring Boot的主导思想。对于Spring Boot而言,大部分情况下存在默认配置,你甚至可以在没有任何定义的情况下使用Spring框架,如果需要自定义也只需要在配置文件配置一些属性便可以,十分便捷。而对于部署这些项目必需的功能,Spring Boot提供starter的依赖,例如,spring-boot-starter-web捆绑了Spring MVC所依赖的包,spring-boot-starter-tomcat绑定了内嵌的Tomcat,这样使得开发者能够尽可能快地搭建开发环境,快速进行开发和部署,这就是Spring Boot的特色。也许作为传统开发者的你,还未能理解其意义,但这并不要紧。为了展示Spring Boot的特色,下节将分别展示传统Spring MVC项目和简易的Spring Boot入门实例,并进行比较。