Spring Boot2企业应用实战
作者:疯狂软件
出版时间:2018年版
内容简介
本书介绍了Java EE领域的全新开源框架:Spring Boot。其中Spring的版本为5.0。本书的示例建议在Tomcat 8上运行。本书重点介绍如何使用Spring Boot 2进行Java EE快速开发,主要包括四个部分。第一部分详细介绍了Spring Boot的核心知识。第二部分详细介绍了Spring Boot的Web开发。第三部分重点介绍了Spring Boot的数据访问。第四部分重点介绍了Spring Boot的Spring Security安全控制。并示范开发了一个包含7个表、表之间具有复杂的关联映射关系,且业务功能也相对完善的IMS信息管理系统案例,希望让读者理论联系实际,将Spring Boot框架真正运用到实际开发当中去。该案例采用目前*流行、*规范的Java EE架构,整个应用分为DAO持久层、领域对象层、业务逻辑层、控制器层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。所有代码完全基于Eclipse IDE来完成,一步步带领读者深入两个框架的核心。
目录
第1章 Spring Boot入门 1
1.1 Spring简介 2
1.1.1 Spring概述 2
1.1.2 Spring的生态圈 3
1.1.3 Spring 5的变化 4
1.1.4 Spring的配置简化 4
1.2 Spring Boot简介 4
1.2.1 Spring Boot概述 4
1.2.2 Spring Boot解决的问题 5
1.2.3 Spring Boot的主要特性 5
1.2.4 Spring Boot 2.0的重要改变 5
1.3 “开箱即用”的依赖模块 5
1.3.1 日志依赖模块spring-boot-starter-logging 6
1.3.2 Web开发依赖模块spring-boot-starter-web 7
1.4 开发第一个Spring Boot应用 8
1.4.1 下载和安装Maven 8
1.4.2 Eclipse集成Maven 9
1.4.3 示例:第一个Spring Boot应用 10
1.5 本章小结 18
第2章 Spring Boot核心 19
2.1 Spring [email protected] 20
2.2 Spring Boot基本配置介绍 21
2.2.1 关闭某个自动配置 21
2.2.2 定制启动banner 22
2.2.3 应用的全局配置文件 23
2.2.4 Spring Boot的依赖模块 24
2.3 Spring Boot自动配置原理 25
2.3.1 源码分析 25
2.3.2 spring.factories分析 27
2.3.3 Spring Boot Web开发的自动配置 29
2.4 本章小结 30
第3章 Spring Boot的Web开发 31
3.1 Spring Boot的Web开发支持 32
3.2 Thymeleaf模板引擎 32
3.2.1 Thymeleaf概述 33
3.2.2 Thymeleaf基础语法 33
3.3 Spring和Thymeleaf的整合 36
3.4 Spring Boot的Thymeleaf支持 37
3.5 Spring Boot的Web开发实例 38
示例:第一个Spring Boot的Web应用 38
示例:Thymeleaf常用功能 45
3.6 Spring Boot对JSP的支持 52
示例:Spring Boot添加JSP支持 53
3.7 Spring Boot处理JSON数据 57
示例:Spring Boot处理JSON 57
3.8 Spring Boot文件上传下载 63
示例:Spring Boot文件上传 63
示例:使用对象方式接收上传文件 66
示例:文件下载 69
3.9 Spring Boot的异常处理 71
示例:ExceptionHandler处理异常 71
示例:父类Controller处理异常 73
示例:Advice处理异常返回JSON 76
3.10 本章小结 78
第4章 Spring Boot的数据访问 79
4.1 Hibernate/JPA/Spring Data JPA的概念 80
4.1.1 对象/关系数据库映射(ORM) 80
4.1.2 基本映射方式 81
4.1.3 流行的ORM框架简介 82
4.2 Spring Data JPA 83
4.2.1 Spring Data核心数据访问接口 83
示例:CrudRepository接口访问数据 84
示例:PagingAndSortingRepository接口访问数据 91
4.2.2 Spring Data JPA开发 99
示例:简单条件查询 100
示例:[email protected] 105
示例:@NamedQuery查询 114
示例:Specification查询 118
4.3 Spring Boot使用JdbcTemplate 128
示例:JdbcTemplate访问数据 128
4.4 Spring Boot整合MyBatis 135
示例:Spring Boot整合MyBatis开发 135
4.5 本章小结 141
第5章 Spring Boot的热部署与单元测试 142
5.1 使用spring-boot-devtools进行热部署 143
示例:使用spring-boot-devtools实现热部署 143
5.2 Spring Boot的单元测试 147
示例:使用Spring Boot的单元测试 147
5.3 本章小结 155
第6章 Spring Boot的Security安全控制 156
6.1 Spring Security是什么 157
6.2 Spring Security入门 157
6.2.1 Security适配器 157
6.2.2 用户认证 158
6.2.3 用户授权 158
6.2.4 Spring Security核心类 160
6.2.5 Spring Security的验证机制 161
6.2.6 Spring Boot的支持 161
示例:简单Spring Boot Security应用 162
6.3 企业项目中的Spring Security操作 173
示例:基于JPA的Spring Boot Security操作 173
示例:基于MyBatis的Spring Boot
Security操作 180
示例:基于JDBC的Spring Boot Security操作 183
6.4 本章小结 185
第7章 实战项目:信息管理系统 186
7.1 项目简介及系统架构 187
7.1.1 系统功能介绍 187
7.1.2 相关技术介绍 187
7.1.3 系统结构 188
7.1.4 系统的功能模块 188
7.2 配置文件 189
7.3 持久化类 191
7.3.1 设计持久化实体 191
7.3.2 创建持久化实体类 192
7.3.3 导入初始数据 197
7.4 定义Repository接口实现Repository持久层 198
7.5 实现Service持久层 200
7.5.1 业务逻辑组件的设计 201
7.5.2 实现业务逻辑组件 201
7.5.3 事务管理 224
7.6 实现Web层 224
7.6.1 控制器 224
7.6.2 系统登录 225
7.6.3 菜单管理 233
7.6.4 角色管理 235
7.6.5 用户管理 240
7.6.6 功能扩展 245
7.7 本章小结 249