[套装书]Spring Boot从入门到实战+Spring Boot学习指南:构建云原生Java和Kotlin应用程序(2册)

作者
章为忠 等
丛书名
出版社
机械工业出版社
ISBN
9782111151730
简要
简介
内容简介书籍计算机书籍 ---------------------------8084734 - Spring Boot从入门到实战--------------------------- 本书针对Spring Boot 2.x以上版本,采用“知识点+实例”的形式编写。本书共17章,重点讲解Spring Boot企业应用开发所涉及的知识点,同时针对某些常见的应用场景提供了完整的解决方案,带领读者从零开始构建一个完整的Spring Boot项目。 本书内容紧扣互联网企业的实际需求,从Sping知识讲到Spring Boot的企业级开发,对于Java开发人员,尤其是初学Spring Boot的人员,以及从传统Spring转向Spring Boot开发的技术人员具有很高的参考价值。 ---------------------------8083975 - Spring Boot学习指南:构建云原生Java和Kotlin应用程序--------------------------- 本书将指导你理解Spring Boot的架构和方法,包括调试、测试和部署等主题。第1章介绍Spring Boot的三个核心特性。第2章研究创建Spring Boot应用程序时可选择的工具。第3章演示如何使用Spring Boot来开发一个基本的应用程序。第4章演示如何对Spring Boot应用程序添加数据库访问。第5章演示如何使用Spring Boot的内置配置功能、自动配置报告和执行器来灵活且动态地创建、识别和修改应用程序环境设置。第6章深入地研究数据。第7章演示如何使用Spring MVC创建应用程序。第8章介绍响应式编程。第9章讨论并演示测试Spring Boot应用程序的核心方面。第10章介绍并解释安全性的核心方面,以及它们如何应用于应用程序。第11章研究如何部署Spring Boot应用程序。第12章深入探讨响应式编程。
目录
[套装书具体书目]
8083975 - Spring Boot学习指南:构建云原生Java和Kotlin应用程序 - 9787111690245 - 机械工业出版社 - 定价 119
8084734 - Spring Boot从入门到实战 - 9787111694021 - 机械工业出版社 - 定价 109



---------------------------8084734 - Spring Boot从入门到实战---------------------------


前言
第1章 初识Spring Boot ........................................ 1
1.1 Spring Boot是什么 ........................................ 1
1.2 Spring Boot的优点 ........................................ 2
1.3 为什么学习Spring Boot ........................................ 3
1.4 什么是“约定优于配置” ........................................ 4
1.5 Spring、Spring Boot和Spring Cloud的关系 ................................... 4
1.6 本章小结 ........................................ 5
第2章 开始Spring Boot之旅 ........................................ 6
2.1 第一个Spring Boot项目:helloworld ........................................ 6
2.1.1 创建Spring Boot项目 ........................................ 6
2.1.2 项目结构 ........................................ 7
2.1.3 pom.xml详解 ........................................ 9
2.1.4 第一个helloworld程序 ........................................ 11
2.2 单元测试 ........................................ 12
2.2.1 Spring Boot集成单元测试 ........................................ 12
2.2.2 测试Service方法 ........................................ 13
2.2.3 测试Controller接口方法 ........................................ 14
2.2.4 常用的单元测试注解 ........................................ 16
2.3 开发环境热部署 ........................................ 17
2.3.1 devtools实现原理 ........................................ 17
2.3.2 配置开发环境热部署 ........................................ 17
2.4 本章小结 ........................................ 18
2.5 本章练习 ........................................ 19
第3章 Spring Boot的系统配置 ........................................ 20
3.1 系统配置文件 ........................................ 20
3.1.1 application.properties ........................................ 20
3.1.2 application.yml ........................................ 21
3.1.3 Properties与YML配置文件的区别 ....................................... 23
3.1.4 实战:自定义系统的启动图案 ........................................ 23
3.2 自定义配置项 ........................................ 25
3.2.1 @Value ........................................ 25
3.2.2 Environment ........................................ 26
3.2.3 @ConfigurationProperties ........................................ 26
3.2.4 使用配置文件注意事项 ........................................ 28
3.3 其他配置 ........................................ 28
3.3.1 随机数 ........................................ 28
3.3.2 配置引用 ........................................ 29
3.4 日志配置 ........................................ 30
3.4.1 Spring Boot日志简介 ........................................ 30
3.4.2 配置日志格式 ........................................ 31
3.4.3 日志输出级别 ........................................ 31
3.4.4 保存日志文件 ........................................ 32
3.5 实战:实现系统多环境配置 ........................................ 33
3.5.1 多环境的配置 ........................................ 33
3.5.2 多环境的切换 ........................................ 34
3.6 本章小结 ........................................ 36
3.7 本章练习 ........................................ 36
第4章 Web开发 ........................................ 37
4.1 Web开发简介 ........................................ 37
4.1.1 Web入门 ........................................ 37
4.1.2 @Controller和@RestController ........................................ 39
4.1.3 @RequestMapping ........................................ 40
4.1.4 @ResponseBody ........................................ 41
4.2 URL映射 ........................................ 42
4.2.1 URL路径匹配 ........................................ 42
4.2.2 Method匹配 ........................................ 43
4.2.3 consumes和produces匹配 ........................................ 43
4.2.4 params和header匹配 ........................................ 44
4.3 参数传递 ........................................ 44
4.3.1 @PathVariable ........................................ 45
4.3.2 使用Bean对象接收参数 ........................................ 46
4.3.3 @RequsetBody接收JSON数据 ........................................ 47
4.3.4 @ModelAttribute ........................................ 47
4.3.5 ModelAndView对象 ........................................ 48
4.4 数据验证 ........................................ 49
4.4.1 Hibernate Validator简介 ........................................ 49
4.4.2 数据校验 ........................................ 50
4.4.3 自定义校验 ........................................ 53
4.5 拦截器 ........................................ 54
4.5.1 应用场景 ........................................ 54
4.5.2 HandlerInterceptor简介 ........................................ 54
4.5.3 使用HandlerInterceptor实现拦截器 ........................................ 55
4.6 过滤器 ........................................ 56
4.6.1 过滤器简介 ........................................ 56
4.6.2 使用FilterRegistrationBean实现过滤器 ........................................ 57
4.7 Web配置 ........................................ 58
4.7.1 WebMvcConfigurer简介 ........................................ 58
4.7.2 跨域访问 ........................................ 58
4.7.3 数据转换配置 ........................................ 59
4.7.4 静态资源 ........................................ 59
4.7.5 跳转指定页面 ........................................ 60
4.8 实战:实现优雅的数据返回 ........................................ 60
4.8.1 为什么要统一返回值 ........................................ 60
4.8.2 统一数据返回 ........................................ 61
4.8.3 全局异常处理 ........................................ 66
4.9 本章小结 ........................................ 67
4.10 本章练习 ........................................ 68
第5章 Thymeleaf模板引擎 ........................................ 69
5.1 Thymeleaf入门 ........................................ 69
5.1.1 Thymeleaf简介 ........................................ 69
5.1.2 Spring Boot使用Thymeleaf ........................................ 70
5.1.3 Thymeleaf常用的配置参数 ........................................ 72
5.2 Thymeleaf表达式 ........................................ 73
5.2.1 变量表达式 ........................................ 73
5.2.2 选择或星号表达式 ........................................ 73
5.2.3 URL表达式 ........................................ 74
5.2.4 文字国际化表达式 ........................................ 75
5.3 表达式的语法 ........................................ 76
5.3.1 赋值和拼接 ........................................ 76
5.3.2 条件判断 ........................................ 77
5.3.3 switch ........................................ 78
5.3.4 循环遍历 ........................................ 79
5.3.5 运算符 ........................................ 81
5.4 Thymeleaf的高级用法 ........................................ 82
5.4.1 内联 ........................................ 82
5.4.2 内置对象 ........................................ 85
5.4.3 内嵌变量 ........................................ 86
5.5 Thymeleaf页面布局 ........................................ 88
5.5.1 引入代码片段 ........................................ 88
5.5.2 片段表达式语法规范 ........................................ 89
5.5.3 可参数化片段 ........................................ 90
5.5.4 实战:实现页面整体布局 ........................................ 90
5.6 本章小结 ........................................ 93
5.7 本章练习 ........................................ 93
第6章 构建RESTful服务 ........................................ 94
6.1 RESTful简介 ........................................ 94
6.1.1 什么是RESTful ........................................ 94
6.1.2 HTTP Method ........................................ 95
6.1.3 HTTP状态码 ........................................ 96
6.1.4 REST与SOAP的区别 ........................................ 97
6.2 构建RESTful应用接口 ........................................ 97
6.2.1 Spring Boot对RESTful的支持 ........................................ 98
6.2.2 Spring Boot实现RESTful API ........................................ 99
6.3 使用Swagger生成Web API文档 ........................................ 102
6.3.1 什么是Swagger ........................................ 102
6.3.2 使用Swagger生成Web API文档 ........................................ 102
6.3.3 为Swagger添加token参数........................................ 105
6.3.4 Swagger常用注解 ........................................ 107
6.4 实战:实现Web API版本控制 ........................................ 108
6.4.1 为什么进行版本控制 ........................................ 108
6.4.2 Web API的版本控制 ........................................ 108
6.5 本章小结 ........................................ 112
6.6 本章练习 ........................................ 113
第7章 JdbcTemplate数据连接模板 ........................................ 114
7.1 JdbcTemplate入门 ........................................ 114
7.1.1 JdbcTemplate简介 ........................................ 114
7.1.2 Spring Boot集成JdbcTemplate........................................ 115
7.2 使用JdbcTemplate操作数据库 ........................................ 117
7.2.1 实现学生数据管理功能 ........................................ 117
7.2.2 复杂查询 ........................................ 120
7.3 实战:实现JdbcTemplate多数据源 ........................................ 123
7.3.1 什么是多数据源 ........................................ 123
7.3.2 配置JdbcTemplate多数据源 ........................................ 123
7.4 本章小结 ........................................ 126
7.5 本章练习 ........................................ 126
第8章 数据库持久层框架MyBatis ........................................ 127
8.1 MyBatis简介 ........................................ 127
8.1.1 什么是ORM ........................................ 127
8.1.2 什么是MyBatis........................................ 128
8.1.3 MyBatis的核心概念 ........................................ 128
8.1.4 MyBatis的启动流程 ........................................ 129
8.2 Spring Boot构建MyBatis应用程序 ........................................ 129
8.2.1 MyBatis-Spring-Boot-Starter简介........................................ 130
8.2.2 Spring Boot集成MyBatis ........................................ 130
8.2.3 实战:实现学生信息管理模块 ........................................ 133
8.2.4 MyBatis Generator插件 ........................................ 136
8.3 使用XML配置文件实现数据库操作........................................ 139
8.3.1 SQL映射文件 ........................................ 139
8.3.2 定义SQL语句 ........................................ 140
8.3.3 结果映射 ........................................ 143
8.3.4 关联关系 ........................................ 145
8.3.5 SQL代码片段 ........................................ 149
8.3.6 动态SQL拼接 ........................................ 150
8.3.7 格式化输出 ........................................ 151
8.4 使用MyBatis注解实现数据库操作 ........................................ 153
8.4.1 XML和注解的异同 ........................................ 154
8.4.2 使用MyBatis注解实现数据查询 ........................................ 154
8.4.3 参数传递 ........................................ 155
8.4.4 结果映射 ........................................ 157
8.4.5 实战:使用注解方式实现学生信息管理 ...................................... 157
8.5 动态SQL和分页 ........................................ 158
8.5.1 动态SQL语句 ........................................ 159
8.5.2 分页查询 ........................................ 160
8.5.3 多数据源配置 ........................................ 162
8.6 本章小结 ........................................ 165
8.7 本章练习 ........................................ 165
第9章 认识JPA ........................................ 166
9.1 JPA入门 ........................................ 166
9.1.1 JPA简介 ........................................ 166
9.1.2 Spring Data对JPA的支持 ........................................ 167
9.2 在Spring Boot项目中使用JPA ........................................ 168
9.2.1 集成Spring Data JPA ........................................ 168
9.2.2 JpaRepository简介 ........................................ 171
9.2.3 实战:实现人员信息管理模块 ........................................ 172
9.3 简单查询 ........................................ 174
9.3.1 预生成方法 ........................................ 174
9.3.2 自定义简单查询 ........................................ 174
9.3.3 自定义SQL查询 ........................................ 176
9.3.4 已命名查询 ........................................ 177
9.4 复杂查询 ........................................ 179
9.4.1 分页查询 ........................................ 179
9.4.2 排序和限制 ........................................ 180
9.4.3 动态条件查询 ........................................ 181
9.5 实体关系映射 ........................................ 183
9.5.1 关系映射注解 ........................................ 183
9.5.2 一对一 ........................................ 184
9.5.3 一对多和多对一 ........................................ 186
9.5.4 多对多 ........................................ 188
9.6 本章小结 ........................................ 190
9.7 本章练习 ........................................ 191
第10章 搞定定时任务 ........................................ 192
10.1 @Scheduled定时任务 ........................................ 192
10.1.1 使用@Scheduled注解实现定时任务 ........................... 192
10.1.2 时间参数设置 ........................................ 193
10.1.3 多线程定时任务 ........................................ 194
10.2 Cron表达式 ........................................ 195
10.2.1 Cron表达式的语法 ........................................ 195
10.2.2 常用表达式 ........................................ 197
10.3 Quartz定时任务 ........................................ 198
10.3.1 Quartz简介 ........................................ 198
10.3.2 简单定时任务 ........................................ 199
10.3.3 Cron定时任务 ........................................ 201
10.4 实战:实现分布式定时任务 ........................................ 202
10.4.1 分布式任务应用场景 ........................................ 202
10.4.2 使用Quartz实现分布式定时任务 ........................................ 203
10.5 本章小结 ........................................ 212
10.6 本章练习 ........................................ 212
第11章 数据缓存Redis实现高并发 ........................................ 213
11.1 Redis入门 ........................................ 213
11.1.1 Redis简介 ........................................ 213
11.1.2 Redis数据类型 ........................................ 214
11.2 Spring Boot集成Redis实现数据缓存 ...................................... 214
11.2.1 Spring Boot对Redis的支持 ........................................ 215
11.2.2 RedisTemplate ........................................ 216
11.2.3 Spring Boot项目中实现Redis数据缓存 .................................... 217
11.2.4 Redis缓存的常用操作 ........................................ 218
11.3 操作Redis数据结构 ........................................ 221
11.3.1 String ........................................ 221
11.3.2 Hash ........................................ 222
11.3.3 List ........................................ 223
11.3.4 Set ........................................ 223
11.3.5 ZSet ........................................ 224
11.4 实战:实现数据缓存框架 ........................................ 225
11.4.1 数据缓存的原理 ........................................ 225
11.4.2 使用Redis实现数据缓存框架 ........................................ 226
11.4.3 常用缓存注解 ........................................ 228
11.5 实战:实现Session共享 ........................................ 230
11.5.1 分布式Session共享解决方案 ........................................ 230
11.5.2 使用Redis快速实现Session共享 ........................................ 231
11.6 本章小结 ........................................ 233
11.7 本章练习 ........................................ 233
第12章 RabbitMQ消息队列 ........................................ 234
12.1 RabbitMQ入门 ........................................ 234
12.1.1 RabbitMQ简介 ........................................ 234
12.1.2 AMQP ........................................ 235
12.1.3 RabbitMQ组件功能 ........................................ 236
12.1.4 交换机 ........................................ 236
12.2 Spring Boot集成RabbitMQ ........................................ 239
12.2.1 发送和接收消息 ........................................ 239
12.2.2 发送和接收实体对象 ........................................ 241
12.3 消息发送模式 ........................................ 243
12.3.1 简单队列模式 ........................................ 243
12.3.2 工作队列模式 ........................................ 245
12.3.3 路由模式 ........................................ 246
12.3.4 广播模式 ........................................ 249
12.3.5 发布订阅模式 ........................................ 252
12.4 消息确认机制 ........................................ 256
12.4.1 消息确认的场景 ........................................ 256
12.4.2 生产者消息确认机制 ........................................ 256
12.4.3 Return机制 ........................................ 260
12.4.4 消费端ACK和NACK机制 ........................................ 262
12.5 实战:消息的100%可靠性发送 ........................................ 264
12.5.1 应用场景 ........................................ 264
12.5.2 技术方案 ........................................ 265
12.5.3 实现消息的100%可靠性发送 ........................................ 266
12.6 本章小结 ........................................ 269
12.7 本章练习 ........................................ 269
第13章 Elasticsearch搜索引擎 ........................................ 270
13.1 Elasticsearch简介 ........................................ 270
13.1.1 认识Elasticsearch ........................................ 270
13.1.2 Elasticsearch数据结构 ........................................ 271
13.1.3 Elasticsearch客户端 ........................................ 272
13.2 Spring Boot集成Elasticsearch搜索引擎 ................................... 273
13.2.1 Spring Boot对Elasticsearch的支持 ........................................ 273
13.2.2 Spring Boot操作Elasticsearch的方式 ...................................... 273
13.2.3 在Spring Boot项目中集成Elasticsearch .................................... 274
13.3 使用ElasticsearchRepository操作ES ........................................ 277
13.3.1 ElasticsearchRepository简介 ........................................ 277
13.3.2 创建文档 ........................................ 278
13.3.3 查询文档 ........................................ 278
13.3.4 更新文档 ........................................ 279
13.3.5 删除文档 ........................................ 279
13.4 Elasticsearch复杂查询 ........................................ 280
13.4.1 分页查询 ........................................ 280
13.4.2 使用QueryBuilder构建查询条件 ................................. 281
13.5 使用ElasticsearchRestTemplate操作ES ................................ 283
13.5.1 ElasticsearchRestTemplate简介 ..................................... 283
13.5.2 创建文档 ........................................ 284
13.5.3 更新文档 ........................................ 285
13.5.4 删除文档 ........................................ 285
13.5.5 查询文档 ........................................ 286
13.5.6 高亮显示 ........................................ 288
13.6 聚合查询 ........................................ 288
13.6.1 什么是聚合 ........................................ 288
13.6.2 实现统计查询 ........................................ 289
13.6.3 实现聚合查询 ........................................ 290
13.7 本章小结 ........................................ 292
13.8 本章练习 ........................................ 292
第14章 Security安全控制 ........................................ 293
14.1 Security入门 ........................................ 293
14.1.1 Security简介 ........................................ 293
14.1.2 Security的核心组件 ........................................ 294
14.1.3 Security验证流程 ........................................ 295
14.2 Security认证 ........................................ 297
14.2.1 Spring Boot集成Security ........................................ 297
14.2.2 登录认证 ........................................ 298
14.2.3 自定义登录页面 ........................................ 300
14.3 Security授权 ........................................ 302
14.3.1 角色权限 ........................................ 302
14.3.2 方法级别的权限控制 ........................................ 305
14.4 实战:基于数据库的权限控制 ........................................ 306
14.4.1 数据库结构设计 ........................................ 306
14.4.2 实现角色权限控制 ........................................ 309
14.5 本章小结 ........................................ 321
14.6 本章练习 ........................................ 322
第15章 Actuator应用监控 ........................................ 323
15.1 Actuator简介 ........................................ 323
15.1.1 Actuator是什么 ........................................ 323
15.1.2 Spring Boot集成Actuator应用监控框架 .................................... 324
15.2 Actuator监控端点 ........................................ 325
15.2.1 监控端点 ........................................ 325
15.2.2 配置监控端点 ........................................ 326
15.2.3 自定义端点 ........................................ 326
15.3 监控信息 ........................................ 327
15.3.1 健康状态 ........................................ 328
15.3.2 应用基本信息 ........................................ 329
15.3.3 查看Spring容器管理的Bean........................................ 329
15.3.4 自动配置状态 ........................................ 330
15.3.5 配置属性 ........................................ 331
15.3.6 系统环境配置信息 ........................................ 331
15.3.7 JVM堆信息 ........................................ 333
15.3.8 HTTP跟踪 ........................................ 334
15.3.9 性能监控 ........................................ 335
15.4 实战:使用Spring Boot Admin实现运维监控平台 ........................ 338
15.4.1 什么是Spring Boot Admin ........................................ 338
15.4.2 创建服务器端 ........................................ 339
15.4.3 创建客户端 ........................................ 340
15.5 本章小结 ........................................ 342
15.6 本章练习 ........................................ 342
第16章 打包、发布与部署 ........................................ 343
16.1 Spring Boot的打包、发布与部署 ........................................ 343
16.1.1 项目打包 ........................................ 343
16.1.2 运行部署 ........................................ 348
16.2 使用Docker部署Spring Boot项目 ........................................ 350
16.2.1 Docker简介 ........................................ 350
16.2.2 Spring Boot项目添加Docker支持 ........................................ 352
16.2.3 发布Docker镜像........................................ 354
16.3 本章小结 ........................................ 356
16.4 本章练习 ........................................ 356
第17章 综合应用实战:学生信息管理系统 ................................... 357
17.1 系统功能设计 ........................................ 357
17.1.1 功能设计 ........................................ 357
17.1.2 技术选型 ........................................ 357
17.2 构建系统 ........................................ 358
17.2.1 设计数据库 ........................................ 358
17.2.2 框架搭建 ........................................ 359
17.3 实现模块功能 ........................................ 368
17.3.1 数据访问层 ........................................ 368
17.3.2 业务逻辑层 ........................................ 370
17.3.3 控制层 ........................................ 373
17.3.4 前端页面 ........................................ 376
17.4 系统演示 ........................................ 387
17.5 本章小结 ........................................ 388



---------------------------8083975 - Spring Boot学习指南:构建云原生Java和Kotlin应用程序---------------------------


前言 1
第1章 Spring Boot概述 5
1.1 Spring Boot的三个核心特性 5
1.1.1 用于简化依赖项管理的启动程序 5
1.1.2 用于简化部署的可执行JAR 6
1.1.3 自动配置 8
1.2 总结 9
第2章 选择工具并开始 10
2.1 Maven还是Gradle 10
2.1.1 Apache Maven 10
2.1.2 Gradle 12
2.1.3 在Maven和Gradle之间选择 13
2.2 Java还是Kotlin 13
2.2.1 Java 13
2.2.2 Kotlin 14
2.2.3 在Java和Kotlin之间选择 15
2.3 选择Spring Boot的某一版本 15
2.4 Spring Initializr 16
2.5 命令行 19
2.6 使用集成开发环境 22
2.7 了解main( ) 23
2.8 总结 25
第3章 创建你的第一个Spring Boot REST API 26
3.1 使用API的方法和原因 26
3.2 REST 27
3.3 API,HTTP动词风格 27
3.3.1 回到Initializr 28
3.3.2 创建一个简单的域 30
3.4 GET 31
3.4.1 @RestController概述 31
3.4.2 POST 35
3.4.3 PUT 35
3.4.4 DELETE 36
3.4.5 其他 36
3.4.6 信任,但要验证 38
3.5 总结 41
第4章 向Spring Boot应用程序添加数据库访问 42
4.1 启动数据库访问的自动配置 42
4.2 我们希望得到什么 43
4.2.1 添加数据库依赖项 43
4.2.2 添加代码 44
4.3 保存和检索数据 50
4.4 稍加打磨 53
4.5 总结 55
第5章 配置和检查Spring Boot应用程序 56
5.1 应用程序配置 57
5.1.1 @Value 58
5.1.2 @ConfigurationProperties 62
5.1.3 潜在的第三方选择 66
5.2 自动配置报告 68
5.3 Actuator 70
5.3.1 开启Actuator 75
5.3.2 使用Actuator提高环境适应能力 77
5.3.3 使用Actuator将日志量调大 78
5.4 总结 79
第6章 真正深入地研究数据 81
6.1 定义实体 81
6.2 模板支持 82
6.3 存储库支持 82
6.4 @Before 83
6.5 使用Redis创建基于模板的服务 83
6.5.1 初始化项目 84
6.5.2 开发Redis服务 84
6.6 从模板转换到存储库 92
6.7 使用JPA创建基于存储库的服务 95
6.7.1 初始化项目 95
6.7.2 开发JPA(MySQL)服务 96
6.7.3 加载数据 100
6.8 使用NoSQL文档数据库创建基于存储库的服务 104
6.8.1 初始化项目 104
6.8.2 开发MongoDB服务 106
6.9 使用NoSQL图形数据库创建基于存储库的服务 111
6.9.1 初始化项目 111
6.9.2 开发Neo4j服务 112
6.10 总结 120
第7章 使用Spring MVC创建应用程序 122
7.1 Spring MVC是什么 122
7.2 使用模板引擎的终端用户交互 123
7.2.1 初始化项目 123
7.2.2 开发Aircraft Positions应用程序 124
7.3 传递消息 130
7.3.1 启动PlaneFinder 131
7.3.2 扩展Aircraft Positions应用程序 134
7.4 使用WebSocket创建对话 138
7.4.1 什么是WebSocket 138
7.4.2 重构Aircraft Positions应用程序 139
7.5 总结 145
第8章 使用Project Reactor和Spring WebFlux进行响应式编程 146
8.1 响应式编程简介 146
8.2 Project Reactor 149
8.3 Tomcat与Netty 151
8.4 响应式数据访问 151
8.5 响应式Thymeleaf 162
8.6 用于全响应式进程间通信的RSocket 163
8.6.1 什么是RSocket 163
8.6.2 使RSocket工作 164
8.7 总结 168
第9章 为日益增加的生产就绪要求测试Spring Boot应用程序 169
9.1 单元测试 169
9.2 @SpringBootTest介绍 170
9.2.1 Aircraft Positions应用程序重要的单元测试 171
9.2.2 重构以更好地测试 175
9.3 测试片 181
9.4 总结 187
第10章 保护Spring Boot应用程序 188
10.1 认证和授权 188
10.1.1 认证 189
10.1.2 授权 190
10.2 Spring Security概述 190
10.2.1 HTTP防火墙 190
10.2.2 安全过滤器链 191
10.2.3 请求和响应报头 191
10.3 使用Spring Security实现基于表单的认证和授权 191
10.3.1 添加Spring Security依赖项 192
10.3.2 添加认证 197
10.3.3 授权 203
10.4 对认证和授权实现OpenID Connect和OAuth2 210
10.4.1 Aircraft Positions客户端应用程序 212
10.4.2 PlaneFinder资源服务器 218
10.5 总结 225
第11章 部署Spring Boot应用程序 226
11.1 重温Spring Boot可执行JAR 226
11.1.1 构建一个“完全可执行的”Spring Boot JAR 227
11.1.2 这是什么意思 232
11.2 扩展JAR 233
11.3 将Spring Boot应用程序部署到容器中 238
11.3.1 从IDE创建容器镜像 239
11.3.2 从命令行创建容器镜像 241
11.3.3 验证镜像是否存在 242
11.3.4 运行容器化应用程序 243
11.4 用于检查Spring Boot应用程序容器镜像的实用程序 244
11.4.1 pack 244
11.4.2 dive 246
11.5 总结 246
第12章 深入探讨响应式编程 247
12.1 什么时候进行响应式编程 247
12.2 测试响应式应用程序 248
12.2.1 首先,进行重构 249
12.2.2 现在,进行测试 255
12.3 诊断和调试响应式应用程序 262
12.3.1 Hooks.onOperatorDebug( ) 263
12.3.2 检查点 272
12.3.3 ReactorDebugAgent.init( ) 274
12.4 总结 276

推荐

车牌查询
桂ICP备20004708号-3