前言 时至今日,脚本语言和敏捷开发大行其道之时,基于Spring框架的Java EE开发显得烦琐许多,开发者经常遇到两个非常头疼的问题: ①大量的配置文件; ②与第三方框架的整合。而Spring Boot的出现颠覆了Java EE开发,可以说具有划时代的意义。Spring Boot的目标是帮助开发者编写更少的代码实现所需功能,遵循“约定优于配置”的原则,从而使开发者只需很少的配置,或者使用默认配置就可以快速搭建项目。虽然Spring Boot给开发者带来了开发效率,但Spring Boot并不是什么新技术,完全是一个基于Spring的应用,所以读者在学习Spring Boot之前,最好先学习Spring与Spring MVC的基础知识。 本书系统介绍了Spring Boot的主要技术,主要包括三方面内容: ①快速开发一个Web应用系统(Spring与Spring MVC基础、Thymeleaf与Vue.js视图技术、数据访问技术); ②Spring Boot的高级特性(自动配置、部署、单元测试以及安全机制); ③分布式架构技术(REST、MongoDB、Redis、Cache、异步消息以及应用监控)。本书的重点不是简单地介绍基础知识,而是通过精心设计的大量实例,使读者快速地掌握Spring Boot的实践应用,提高Java EE应用的开发能力。 全书共12章,其各章的具体内容如下。 第1章介绍Spring的基础知识,包括Spring的开发环境构建、Spring IoC、Spring AOP、Spring Bean以及Spring的数据库编程等内容。 第2章介绍Spring MVC的基础知识,包括Spring MVC的工作原理、Spring MVC的工作环境、基于注解的控制器、表单标签库与数据绑定、JSON数据交互以及Spring MVC的基本配置等内容。 第3章主要介绍如何快速构建第一个Spring Boot应用,包括Maven手工构建、http://start.spring.io快速构建以及Spring Tool Suite(STS)快速构建等内容。 第4章介绍Spring Boot的核心,包括核心注解、基本配置、自动配置原理以及条件注解等主要内容。 第5章介绍Spring Boot的Web开发相关技术,包括Spring Boot的Web开发支持、Thymeleaf视图模板引擎技术、JSON数据交互、文件上传与下载、异常统一处理以及对JSP的支持。 第6章主要讲解Spring Boot访问数据库的解决方案,包括Spring Data JPA、Spring Boot整合MyBatis、Spring Boot的事务管理、Spring Boot整合REST、Spring Boot整合MongoDB、Spring Boot整合Redis、数据缓存Cache技术等内容。 第7章介绍Spring Security,包括Spring Security快速入门、基于Spring Data JPA的Spring Boot Security操作实例以及基于MyBatis的Spring Boot Security操作实例等内容。 第8章介绍企业级系统之间的异步消息通信,包括消息模型、JMS与AMQP企业级消息代理、Spring Boot对异步消息的支持以及异步消息通信实例等内容。 第9章介绍Spring Boot的部署与单元测试,包括模板引擎的热部署、使用springbootdevtools热部署以及Spring Boot的单元测试等内容。 第10章介绍Spring Boot应用的监控和管理,包括端点的分类与测试、自定义端点以及自定义HealthIndicator等内容。 第11章以电子商务平台的设计与实现为综合案例,讲述如何使用Spring Boot+Thymeleaf+MyBatis开发一个Spring Boot应用。 第12章以名片系统的设计与实现为综合案例,讲述如何使用Spring Boot+Vue.js+JPA开发一个前后端分离的应用。 注: 为便于教学,本书提供1000分钟的教学视频,扫描书中相关章节的二维码可以在线观看、学习; 本书还提供教学大纲、教学课件、电子教案、程序源码、习题答案等配套资源,扫描封底的课件二维码可以免费下载。 由于编者水平有限,书中难免存在不足之处,敬请广大读者批评指正。 编者 2020年3月