█ █ █
目 录
第1章 介绍Spring Boot 1
1.1 使用Maven创建Spring Boot应用程序 2
1.1.1 问题 2
1.1.2 解决方案 2
1.1.3 工作原理 2
1.2 使用Gradle创建Spring Boot应用程序 5
1.2.1 问题 5
1.2.2 解决方案 5
1.2.3 工作原理 6
1.3 使用Spring Initializr创建Spring Boot应用程序 8
1.3.1 问题 8
1.3.2 解决方案 9
1.3.3 工作原理 9
1.4 小结 12
第2章 Spring Boot基础特性 13
2.1 配置bean 13
2.1.1 问题 13
2.1.2 解决方案 13
2.1.3 工作原理 13
2.2 属性外置 19
2.2.1 问题 19
2.2.2 解决方案 19
2.2.3 工作原理 19
2.3 测试 23
2.3.1 问题 23
2.3.2 解决方案 23
2.3.3 工作原理 23
2.4 配置日志 28
2.4.1 问题 28
2.4.2 解决方案 28
2.4.3 工作原理 28
2.5 重用现有配置 29
2.5.1 问题 29
2.5.2 解决方案 30
2.5.3 工作原理 30
第3章 Spring MVC基础特性 31
3.1 开始使用Spring MVC 31
3.1.1 问题 31
3.1.2 解决方案 31
3.1.3 工作原理 31
3.2 使用Spring MVC公开REST资源 35
3.2.1 问题 35
3.2.2 解决方案 35
3.2.3 工作原理 36
3.3 在Spring Boot中使用Thymeleaf模板 45
3.3.1 问题 45
3.3.2 解决方案 45
3.3.3 工作原理 45
3.4 处理异常 51
3.4.1 问题 51
3.4.2 解决方案 51
3.4.3 工作原理 51
3.5 应用程序国际化 56
3.5.1 问题 56
3.5.2 解决方案 56
3.5.3 工作原理 56
3.6 解析用户区域设置 59
3.6.1 问题 59
3.6.2 解决方案 59
3.6.3 工作原理 59
3.7 选择和配置内嵌的服务器 63
3.7.1 问题 63
3.7.2 解决方案 63
3.7.3 工作原理 63
3.8 为Servlet容器配置SSL 68
3.8.1 问题 68
3.8.2 解决方案 68
3.8.3 工作原理 68
第4章 Spring MVC 异步特性 73
4.1 使用控制器和TaskExecutor处理异步请求 74
4.1.1 问题 74
4.1.2 解决方案 74
4.1.3 工作原理 74
4.2 响应回写函数 78
4.2.1 问题 78
4.2.2 解决方案 78
4.2.3 工作原理 78
4.3 WebSocket 86
4.3.1 问题 86
4.3.2 解决方案 86
4.3.3 工作原理 86
4.4 在WebSocket上使用STOMP 96
4.4.1 问题 96
4.4.2 解决方案 96
4.4.3 工作原理 96
第5章 Spring WebFlux特性 105
5.1 使用Spring WebFlux开发反应式应用 105
5.1.1 问题 105
5.1.2 解决方案 105
5.1.3 工作原理 107
5.2 发布和使用反应式Rest服务 111
5.2.1 问题 111
5.2.2 解决方案 111
5.2.3 工作原理 111
5.3 使用Thymeleaf作为模板引擎 120
5.3.1 问题 120
5.3.2 解决方案 120
5.3.3 工作原理 120
5.4 WebFlux和WebSocket 125
5.4.1 问题 125
5.4.2 解决方案 125
5.4.3 工作原理 125
第6章 Spring Security介绍 135
6.1 在Spring Boot应用程序中启用安全特性 135
6.1.1 问题 135
6.1.2 解决方案 135
6.1.3 工作原理 135
6.2 登录Web应用 142
6.2.1 问题 142
6.2.2 解决方案 142
6.2.3 工作原理 142
6.3 用户认证 150
6.3.1 问题 150
6.3.2 解决方案 151
6.3.3 工作原理 151
6.4 制定访问控制决策 156
6.4.1 问题 156
6.4.2 解决方案 156
6.4.3 工作原理 156
6.5 向WebFlux应用程序添加安全特性 160
6.5.1 问题 160
6.5.2 解决方案 161
6.5.3 工作原理 161
6.6 小结 166
第7章 数据访问 167
7.1 配置数据源 167
7.1.1 问题 167
7.1.2 解决方案 167
7.1.3 工作原理 167
7.2 使用JdbcTemplate 176
7.2.1 问题 176
7.2.2 解决方案 176
7.2.3 工作原理 176
7.3 使用JPA 184
7.3.1 问题 184
7.3.2 解决方案 184
7.3.3 工作原理 184
7.4 直接使用Hibernate 192
7.4.1 问题 192
7.4.2 解决方案 192
7.4.3 工作原理 192
7.5 Spring Data MongoDB 195
7.5.1 问题 195
7.5.2 解决方案 195
7.5.3 工作原理 195
第8章 Java企业服务 209
8.1 Spring异步处理机制 209
8.1.1 问题 209
8.1.2 解决方案 209
8.1.3 工作原理 209
8.2 Spring任务调度 213
8.2.1 问题 213
8.2.2 解决方案 213
8.2.3 工作原理 213
8.3 发送E-mail 215
8.3.1 问题 215
8.3.2 解决方案 215
8.3.3 工作原理 215
8.4 注册JMX MBean 220
8.4.1 问题 220
8.4.2 解决方案 220
8.4.3 工作原理 220
第9章 消息传递 225
9.1 配置JMS 225
9.1.1 问题 225
9.1.2 解决方案 225
9.1.3 工作原理 225
9.2 使用JMS发送消息 231
9.2.1 问题 231
9.2.2 解决方案 231
9.2.3 工作原理 231
9.3 使用JMS接收消息 238
9.3.1 问题 238
9.3.2 解决方案 238
9.3.3 工作原理 238
9.4 配置RabbitMQ 242
9.4.1 问题 242
9.4.2 解决方案 242
9.4.3 工作原理 243
9.5 使用RabbitMQ发送消息 243
9.5.1 问题 243
9.5.2 解决方案 244
9.5.3 工作原理 244
9.6 使用RabbitMQ接收消息 251
9.6.1 问题 251
9.6.2 解决方案 251
9.6.3 工作原理 251
第10章 Spring Boot Actuator 255
10.1 启用和配置Spring Boot Actuator 255
10.1.1 问题 255
10.1.2 解决方案 255
10.1.3 工作原理 255
10.2 创建自定义的健康状况检查和性能指标 261
10.2.1 问题 261
10.2.2 解决方案 262
10.2.3 工作原理 262
10.3 导出性能指标 264
10.3.1 问题 264
10.3.2 解决方案 264
10.3.3 工作原理 265
第11章 打包 267
11.1 创建可执行文件 267
11.1.1 问题 267
11.1.2 解决方案 267
11.1.3 工作原理 267
11.2 为部署创建WAR文件 270
11.2.1 问题 270
11.2.2 解决方案 270
11.2.3 工作原理 270
11.3 通过Thin Launcher减少归档文件大小 273
11.3.1 问题 273
11.3.2 解决方案 273
11.3.3 工作原理 273
11.4 使用Docker 274
11.4.1 问题 275
11.4.2 解决方案 275
11.4.3 工作原理 275