第1章 Spring Boot入门 1
1.1 Spring Boot简介 1
1.2开发第一个Spring Boot程序 2
1.2.1创建Maven工程 2
1.2.2项目构建 5
1.2.3项目启动 7
1.3 Spring Boot的简便创建方式 8
1.3.1在线创建 8
1.3.2使用IntelliJ IDEA创建 9
1.3.3使用STS创建 11
1.4小结 12
第2章 Spring Boot基础配置 13
2.1不使用spring-boot-starter-parent 13
2.2@Spring BootApplication 14
2.3定制banner 16
2.4 Web容器配置 17
2.4.1 Tomcat配置 17
2.4.2 Jetty配置 20
2.4.3 Undertow配置 21
2.5 Properties配置 21
2.6类型安全配置属性 22
2.7 YAML配置 24
2.7.1常规配置 24
2.7.2复杂配置 25
2.8 Profile 26
2.9小结 27
第3章 Spring Boot整合视图层技术 28
3.1整合Thymeleaf 28
3.2整合FreeMarker 31
3.3小结 33
第4章 Spring Boot整合Web开发 34
4.1返回JSON数据 34
4.1.1默认实现 34
4.1.2自定义转换器 36
4.2静态资源访问 40
4.2.1默认策略 40
4.2.2自定义策略 42
4.3文件上传 42
4.3.1单文件上传 43
4.3.2多文件上传 45
4.4@ControllerAdvice 46
4.4.1全局异常处理 46
4.4.2添加全局数据 48
4.4.3请求参数预处理 48
4.5自定义错误页 50
4.5.1简单配置 52
4.5.2复杂配置 55
4.6 CORS支持 62
4.7配置类与XML配置 67
4.8注册拦截器 68
4.9启动系统任务 70
4.9.1 CommandLineRunner 70
4.9.2 ApplicationRunner 72
4.10整合Servlet、Filter和Listener 73
4.11路径映射 75
4.12配置AOP 75
4.12.1 AOP简介 75
4.12.2 Spring Boot支持 76
4.13其他 78
4.13.1自定义欢迎页 78
4.13.2自定义favicon 79
4.13.3除去某个自动配置 79
4.14小结 80
第5章 Spring Boot整合持久层技术 81
5.1整合JdbcTemplate 81
5.2整合MyBatis 86
5.3整合Spring Data JPA 89
5.4多数据源 95
5.4.1 JdbcTemplate多数据源 96
5.4.2 MyBatis多数据源 99
5.4.3 JPA多数据源 102
5.5小结 106
第6章 Spring Boot整合NoSQL 107
6.1整合Redis 108
6.1.1 Redis简介 108
6.1.2 Redis安装 108
6.1.3整合Spring Boot 110
6.1.4 Redis集群整合Spring Boot 113
6.2整合MongoDB 121
6.2.1 MongoDB简介 121
6.2.2 MongoDB安装 122
6.2.3整合Spring Boot 124
6.3 Session共享 127
6.3.1 Session共享配置 128
6.3.2 Nginx负载均衡 129
6.3.3请求分发 130
6.4小结 131
第7章 构建RESTful服务 132
7.1 REST简介 132
7.2 JPA实现REST 133
7.2.1基本实现 133
7.2.2自定义请求路径 138
7.2.3自定义查询方法 138
7.2.4隐藏方法 139
7.2.5配置CORS 140
7.2.6其他配置 140
7.3 MongoDB实现REST 141
7.4小结 142
第8章 开发者工具与单元测试 143
8.1 devtools简介 143
8.2 devtools实战 143
8.2.1基本用法 143
8.2.2基本原理 145
8.2.3自定义监控资源 145
8.2.4使用LiveReload 146
8.2.5禁用自动重启 147
8.2.6全局配置 147
8.3单元测试 148
8.3.1基本用法 148
8.3.2 Service测试 149
8.3.3 Controller测试 149
8.3.4 JSON测试 152
8.4小结 153
第9章 Spring Boot缓存 154
9.1 Ehcache 2.x缓存 155
9.2 Redis单机缓存 159
9.3 Redis集群缓存 160
9.3.1搭建Redis集群 161
9.3.2配置缓存 161
9.3.3使用缓存 162
9.4小结 164
第10章 Spring Boot安全管理 165
10.1 Spring Security的基本配置 165
10.1.1基本用法 166
10.1.2配置用户名和密码 167
10.1.3基于内存的认证 167
10.1.4 HttpSecurity 168
10.1.5登录表单详细配置 170
10.1.6注销登录配置 172
10.1.7多个HttpSecurity 173
10.1.8密码加密 174
10.1.9方法安全 176
10.2基于数据库的认证 177
10.3高级配置 182
10.3.1角色继承 182
10.3.2动态配置权限 183
10.4 OAuth 2 187
10.4.1 OAuth 2简介 187
10.4.2 OAuth 2角色 187
10.4.3 OAuth 2授权流程 188
10.4.4授权模式 188
10.4.5实践 189
10.5 Spring Boot整合Shiro 195
10.5.1 Shiro简介 195
10.5.2整合Shiro 195
10.6小结 200
第11章 Spring Boot整合WebSocket 201
11.1为什么需要WebSocket 201
11.2 WebSocket简介 202
11.3 Spring Boot整合WebSocket 203
11.3.1消息群发 204
11.3.2消息点对点发送 208
11.4小结 213
第12章 消息服务 214
12.1 JMS 214
12.1.1 JMS简介 214
12.1.2 Spring Boot整合JMS 215
12.2 AMQP 218
12.2.1 AMQP简介 218
12.2.2 Spring Boot整合AMQP 218
12.3小结 228
第13章 企业开发 229
13.1邮件发送 229
13.1.1发送前的准备 229
13.1.2发送 231
13.2定时任务 239
13.2.1@Scheduled 239
13.2.2 Quartz 240
13.3批处理 243
13.3.1 Spring Batch简介 243
13.3.2整合Spring Boot 243
13.4 Swagger 2 248
13.4.1 Swagger 2简介 248
13.4.2整合Spring Boot 248
13.5数据校验 252
13.5.1普通校验 252
13.5.2分组校验 254
13.5.3校验注解 255
13.6小结 256
第14章 应用监控 257
14.1端点配置 257
14.1.1开启端点 257
14.1.2暴露端点 259
14.1.3端点保护 261
14.1.4端点响应缓存 261
14.1.5路径映射 262
14.1.6 CORS支持 262
14.1.7健康信息 263
14.1.8应用信息 267
14.2监控信息可视化 272
14.3邮件报警 275
14.4小结 276
第15章 项目构建与部署 277
15.1 JAR 277
15.1.1项目打包 277
15.1.2项目运行 279
15.1.3创建可依赖的JAR 280
15.1.4文件排除 281
15.2 WAR 283
15.3小结 283
第16章 微人事项目实战 284
16.1项目简介 284
16.2技术架构 285
16.2.1 Vue简介 285
16.2.2 Element简介 285
16.2.3其他 286
16.3项目构建 286
16.3.1前端项目构建 286
16.3.2后端项目构建 287
16.3.3数据模型设计 287
16.4登录模块 293
16.4.1后端接口实现 293
16.4.2前端实现 302
16.5动态加载用户菜单 308
16.5.1后端接口实现 308
16.5.2前端实现 310
16.6员工资料模块 315
16.6.1后端接口实现 315
16.6.2前端实现 316
16.7配置邮件发送 319
16.8员工资料导出 322
16.8.1后端接口实现 322
16.8.2前端实现 325
16.9员工资料导入 325
16.9.1后端接口实现 325
16.9.2前端实现 329
16.10在线聊天 330
16.10.1后端接口实现 330
16.10.2前端实现 331
16.11前端项目打包 334
16.12小结 335