
1.1 初识Spring Boot
为什么当下越来越多的Java项目采用Spring Boot框架?一方面,Spring Boot框架继承了Spring MVC框架前辈SSM框架的优秀特性;另一方面,该框架能通过注解大幅减少程序员写配置的工作量,从而提升项目的开发效率。
1.1.1 Spring Boot是什么
Spring Boot是一套开源的后台开发框架,在其中有效地整合了开发企业级应用所必需的通用性接口,在此基础上,程序员能通过使用这些接口高效地开发功能迥异的各种Web应用。
从企业开发角度来看,Spring Boot框架提供了自动化配置、内嵌容器和兼容Maven等核心功能,从而能让程序员在用此框架开发项目时更多地集中于业务功能,而无须关注请求跳转、服务配置和组件关联等业务的实现细节,从而有效降低开发企业应用的难度。
1.1.2 Spring、Spring MVC和Spring Boot的关系
由于Spring框架包含如表1.1所示的组件,因此它能为开发Java项目提供全面的支持。
表1.1 Spring框架重要组件一览表

在一些在线商城等Web项目中会频繁地包含请求跳转、前后端数据交互和请求拦截处理等动作,如果程序员在开发Web项目时过多地关注这些细节,那么开发项目的难度和风险会大大增加,所以在此类项目中一般会引入如图1.1所示的MVC框架。

图1.1 MVC框架效果图
从中大家能看到,在MVC框架中,由于分离了前端、分发前端的请求和后端的功能模块,因此能很好地提升项目的开发效率,降低项目的维护成本。
在Spring体系中,较早实现MVC框架的有Struts+Spring+Hibernate(SSH)框架和Spring+Spring MVC+MyBatis(SSM)框架。不过在此类框架中,程序员依然需要编写一定数量的配置文件来访问数据库或实现其他功能。
为了进一步在保证功能的前提下优化项目的开发流程,Pivotal公司于2014年4月发布了Spring Boot第一个版本,当下该框架已经升级到了2.2.M版本。
和Spring MVC框架的前辈SSH框架和SSM框架相比,Spring Boot用注解替代了XML配置,而且自带Tomcat等Web服务器,所以程序员用该框架开发Web项目时,不仅有较好的开发体验,更能降低开发配置失误而导致的风险。
1.1.3 Spring Boot是SSM框架的升级版
这里通过对比Spring Boot和SSM等Web框架的开发部署流程,带领大家进一步感受Spring Boot框架的优势。在表1.2中整理了使用Spring Boot和SSM框架的不同体验。
表1.2 Spring Boot和SSM框架的差别归纳表

从中大家可以看到,不论是从开发方式还是发布方式等角度,Spring Boot均比SSM框架有优势,这也是当下越来越多的公司选用Spring Boot框架开发项目的原因。