谈到 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 项目就能以 JavaApplication 的 形式运行 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 的特色。