1、定义

  SpringBoot 是由 Pivotal 团队在 2013 年开始研发,2014 年 4 月发布第一个版本的全新开源的轻量级框架。它基于 Spring4.0 设计,不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置,简化了 Spring 项目的初始搭建和开发过程。

  Boot 是启动的意思,SpringBoot 本质上就是一个引导 spring 项目创建及启动项目的工具,方便开发和管理 Spring 项目。该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置。另外,SpringBoot 还集成了大量的优秀框架,使得依赖包的版本冲突、以及引用的不稳定性等问题得到了很好的解决。

  使用 Spring Boot 很容易创建一个独立运行(内嵌 Servlet 容器,直接运行 jar),准生产级别的基于 Spring 框架的项目,可以不用或者只需要很少的 xml 文件配置。

 

2、springBoot的特点

⚫ 创建独立的 Spring 应用程序

  SpringBoot 基于 Maven 或 Gradle 等项目管理工具,可以以 jar 包的形式进行独立的运行,如使用:java -jar xx.jar 命令就可以成功运行项目,或者在项目的主程序中运行 main()函数。

⚫ 嵌入的 Tomcat,Jetty 等服务器

  基于 SpringBoot 的 WEB 项目不需要单独配置 Tomcat 等传统服务器,不用部署War 文件,它直接内嵌了 Tomcat,Jetty 等 Servlet 容器,直接执行项目的主程序main()函数,就能让项目的快速运行。另外,也降低对运行环境的基本要求,环境变量中有 JDK 即可。

⚫ 允许通过 Maven 或 Gradle 来根据需要获取 starter

  Spring Boot 提供了一系列自动配置的 starter(启动器),用来简化项目中Maven 的依赖管理。通过这些 starter,项目就能引入相应依赖,因此不需要在pom.xml 文件写入大量依赖 jar 包信息,pom 文件非常简洁干净,而且对依赖的管理也变得容易。

  以下网址列出了 SpringBoot 提供的各种 starter:

  https://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/html

  single/#using-boot-starter

⚫ 尽可能自动配置 Spring

  在 SpringBoot 之前,使用 Spring 框架十分繁琐,各种配置文件非常多,如Spring 本身的配置、整合 SpringMVC、整合 Mybatis、整合 Redis 等其他框架的配置文件,Web 项目自身的配置文件等等。SpringBoot 的出现,非常有效地解决这个问题,实现了“零”配置,web.xml,spring.xml,srpingmvc.xml 等配置文件,SpringBoot 自动就配置好了。当然,实际开发中,也可以根据需要修改一些配置参数。

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

  Spring Boot 提供了基于 http、ssh、telnet 等方式对运行时的项目进行监控;我们可以引入 spring-boot-start-actuator 依赖,获取进程的运行期性能参数,从而达到对系统监控的目的,方便管理和维护系统。