书籍详情
学习Spring Boot 3.0
作者:[美]格雷格·L.特恩奎斯特 著,刘亮 译
出版社:清华大学出版社
出版时间:2023-10-01
ISBN:9787302646518
定价:¥89.00
购买这本书可以去
内容简介
《学习Spring Boot 3.0》详细阐述了与Spring Boot 3.0相关的基本解决方案,主要包括Spring Boot的核心功能、使用Spring Boot创建Web应用程序、使用Spring Boot查询数据、使用Spring Boot保护应用程序、使用Spring Boot进行测试、使用Spring Boot配置应用程序、使用Spring Boot发布应用程序、使用Spring Boot构建原生程序、编写响应式Web控制器、响应式处理数据等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
作者简介
格雷格·L.特恩奎斯特是Spring Data JPA和Spring Web Services的首席开发人员。他为Spring HATEOAS、Spring Data REST、Spring Security、Spring Framework以及Spring portfolio的许多其他部分都做出了贡献。多年以来,他一直在用他的script-fu维护Spring Data团队的持续集成(CI)系统。他撰写了多部关于Spring Boot的著作,包括Packt出版社的畅销书Learning Spring Boot 2.0第二版以及第一本上市的Spring Boot书籍。他甚至推出了自己的YouTube频道Spring Boot Learning(http://bit.ly/3uSPLCz),你可以在该频道学习Spring Boot并享受其中的乐趣。在加入Spring团队之前,Greg在Harris Corp担任高级软件工程师,参与了多个项目。他拥有计算机工程硕士学位,现居美国。
目录
第1篇 Spring Boot基础知识
第1章 Spring Boot的核心功能 3
1.1 技术要求 4
1.1.1 安装Java 17 4
1.1.2 安装现代IDE 5
1.1.3 创建GitHub账户 5
1.1.4 寻找其他支持 6
1.2 自动配置Spring bean 6
1.2.1 了解应用程序上下文 6
1.2.2 探索Spring Boot中的自动配置策略 7
1.3 使用Spring Boot启动器添加portfolio组件 10
1.4 使用配置属性自定义设置 12
1.4.1 创建自定义属性 13
1.4.2 外部化应用程序配置 14
1.4.3 配置基于属性的Bean 16
1.5 管理应用程序依赖项 18
1.6 小结 19
第2篇 使用Spring Boot创建应用程序
第2章 使用Spring Boot创建Web应用程序 23
2.1 使用start.spring.io构建应用程序 23
2.2 创建Spring MVC Web控制器 26
2.3 使用start.spring.io扩充现有项目 28
2.4 利用模板创建内容 30
2.4.1 将演示数据添加到模板中 31
2.4.2 使用更好的设计构建我们的应用程序 33
2.4.3 通过构造函数调用注入依赖 35
2.4.4 通过HTML表单更改数据 36
2.5 创建基于JSON的API 39
2.6 将Node.js挂接到Spring Boot Web应用程序 43
2.6.1 将JavaScript与Node.js绑定在一起 45
2.6.2 创建React.js应用程序 46
2.7 小结 52
第3章 使用Spring Boot查询数据 53
3.1 将Spring Data添加到现有的Spring Boot应用程序中 53
3.1.1 使用Spring Data轻松管理数据 54
3.1.2 将Spring Data JPA添加到项目中 56
3.2 DTO、实体和POJO 56
3.2.1 实体 57
3.2.2 DTO 58
3.2.3 POJO 59
3.3 创建Spring Data存储库 59
3.4 使用自定义查找器 61
3.4.1 对结果进行排序 65
3.4.2 限制查询结果 66
3.5 使用query by example找到动态查询的答案 67
3.6 使用自定义JPA 70
3.7 小结 73
第4章 使用Spring Boot保护应用程序 75
4.1 将Spring Security添加到项目中 76
4.2 使用自定义安全策略创建用户 77
4.3 使用Spring Data支持的一组用户交换硬编码用户 79
4.4 保护网络路由和HTTP谓词 82
4.4.1 Spring Boot自动配置的安全策略 83
4.4.2 表单身份验证和基本身份验证 83
4.4.3 创建自定义安全策略 86
4.4.4 关于跨站请求伪造的问题 87
4.5 Spring Data的安全保护方法 89
4.5.1 更新模型 89
4.5.2 取得数据的所有权 91
4.5.3 添加删除按钮 92
4.5.4 锁定访问 93
4.5.5 启用方法级安全性 94
4.5.6 在站点上显示用户详细信息 94
4.6 利用Google对用户进行身份验证 98
4.6.1 使用OAuth的优点 99
4.6.2 使用OAuth的缺点 99
4.6.3 创建Google OAuth 2.0应用程序 99
4.6.4 将OAuth客户端添加到Spring Boot项目中 101
4.6.5 远程调用OAuth2 API 104
4.6.6 创建一个OAuth2支持的Web应用程序 108
4.7 小结 115
第5章 使用Spring Boot进行测试 117
5.1 将JUnit 5添加到应用程序中 117
5.2 为域对象创建测试 119
5.3 使用MockMVC测试Web控制器 122
5.4 使用模拟测试数据存储库 125
5.5 使用嵌入式数据库测试数据存储库 130
5.6 将Testcontainers添加到应用程序中 134
5.7 使用Testcontainers测试数据存储库 136
5.8 使用Spring Security Test测试安全策略 140
5.9 小结 145
第3篇 使用Spring Boot发布应用程序
第6章 使用Spring Boot配置应用程序 149
6.1 创建自定义属性 149
6.2 创建基于配置文件的属性文件 154
6.3 切换到YAML 157
6.4 使用环境变量设置属性 159
6.5 属性覆盖的顺序 160
6.6 小结 163
第7章 使用Spring Boot发布应用程序 165
7.1 创建超级JAR 165
7.2 组装Docker容器 168
7.3 构建“正确”类型的容器 170
7.4 将应用程序发布到Docker Hub上 173
7.5 在生产环境中进行调整 175
7.6 使用Spring Boot进行扩展 176
7.7 小结 180
第8章 使用Spring Boot构建原生程序 181
8.1 关于GraalVM 181
8.2 为GraalVM改造应用程序 182
8.3 在GraalVM中运行原生Spring Boot应用程序 185
8.4 需要GraalVM的原因 189
8.5 使用GraalVM组装Docker容器 190
8.5.1 Spring Boot 3.0与Spring Boot 2.7和Spring Native 191
8.5.2 GraalVM和其他库 191
8.6 小结 192
第4篇 使用Spring Boot扩展应用程序
第9章 编写响应式Web控制器 195
9.1 关于响应式编程 195
9.1.1 响应式编程简介 196
9.1.2 Reactive Streams详解 197
9.2 创建响应式Spring Boot应用程序 198
9.3 通过响应式GET方法提供数据 200
9.4 通过响应式POST方法使用传入数据 201
9.4.1 使用Project Reactor扩展应用程序 202
9.4.2 Java并发编程简史 203
9.5 提供响应式模板 204
9.5.1 创建响应式Web控制器 205
9.5.2 制作Thymeleaf模板 206
9.6 响应式创建超媒体 210
9.7 小结 216
第10章 响应式处理数据 219
10.1 响应式获取数据的难题 219
10.2 选择响应式数据存储 221
10.3 创建响应式数据存储库 222
10.4 试用R2DBC 223
10.4.1 使用R2dbcEntityTemplate加载数据 225
10.4.2 将数据响应式地返回API控制器 226
10.4.3 响应式地处理模板中的数据 228
10.5 小结 230
第1章 Spring Boot的核心功能 3
1.1 技术要求 4
1.1.1 安装Java 17 4
1.1.2 安装现代IDE 5
1.1.3 创建GitHub账户 5
1.1.4 寻找其他支持 6
1.2 自动配置Spring bean 6
1.2.1 了解应用程序上下文 6
1.2.2 探索Spring Boot中的自动配置策略 7
1.3 使用Spring Boot启动器添加portfolio组件 10
1.4 使用配置属性自定义设置 12
1.4.1 创建自定义属性 13
1.4.2 外部化应用程序配置 14
1.4.3 配置基于属性的Bean 16
1.5 管理应用程序依赖项 18
1.6 小结 19
第2篇 使用Spring Boot创建应用程序
第2章 使用Spring Boot创建Web应用程序 23
2.1 使用start.spring.io构建应用程序 23
2.2 创建Spring MVC Web控制器 26
2.3 使用start.spring.io扩充现有项目 28
2.4 利用模板创建内容 30
2.4.1 将演示数据添加到模板中 31
2.4.2 使用更好的设计构建我们的应用程序 33
2.4.3 通过构造函数调用注入依赖 35
2.4.4 通过HTML表单更改数据 36
2.5 创建基于JSON的API 39
2.6 将Node.js挂接到Spring Boot Web应用程序 43
2.6.1 将JavaScript与Node.js绑定在一起 45
2.6.2 创建React.js应用程序 46
2.7 小结 52
第3章 使用Spring Boot查询数据 53
3.1 将Spring Data添加到现有的Spring Boot应用程序中 53
3.1.1 使用Spring Data轻松管理数据 54
3.1.2 将Spring Data JPA添加到项目中 56
3.2 DTO、实体和POJO 56
3.2.1 实体 57
3.2.2 DTO 58
3.2.3 POJO 59
3.3 创建Spring Data存储库 59
3.4 使用自定义查找器 61
3.4.1 对结果进行排序 65
3.4.2 限制查询结果 66
3.5 使用query by example找到动态查询的答案 67
3.6 使用自定义JPA 70
3.7 小结 73
第4章 使用Spring Boot保护应用程序 75
4.1 将Spring Security添加到项目中 76
4.2 使用自定义安全策略创建用户 77
4.3 使用Spring Data支持的一组用户交换硬编码用户 79
4.4 保护网络路由和HTTP谓词 82
4.4.1 Spring Boot自动配置的安全策略 83
4.4.2 表单身份验证和基本身份验证 83
4.4.3 创建自定义安全策略 86
4.4.4 关于跨站请求伪造的问题 87
4.5 Spring Data的安全保护方法 89
4.5.1 更新模型 89
4.5.2 取得数据的所有权 91
4.5.3 添加删除按钮 92
4.5.4 锁定访问 93
4.5.5 启用方法级安全性 94
4.5.6 在站点上显示用户详细信息 94
4.6 利用Google对用户进行身份验证 98
4.6.1 使用OAuth的优点 99
4.6.2 使用OAuth的缺点 99
4.6.3 创建Google OAuth 2.0应用程序 99
4.6.4 将OAuth客户端添加到Spring Boot项目中 101
4.6.5 远程调用OAuth2 API 104
4.6.6 创建一个OAuth2支持的Web应用程序 108
4.7 小结 115
第5章 使用Spring Boot进行测试 117
5.1 将JUnit 5添加到应用程序中 117
5.2 为域对象创建测试 119
5.3 使用MockMVC测试Web控制器 122
5.4 使用模拟测试数据存储库 125
5.5 使用嵌入式数据库测试数据存储库 130
5.6 将Testcontainers添加到应用程序中 134
5.7 使用Testcontainers测试数据存储库 136
5.8 使用Spring Security Test测试安全策略 140
5.9 小结 145
第3篇 使用Spring Boot发布应用程序
第6章 使用Spring Boot配置应用程序 149
6.1 创建自定义属性 149
6.2 创建基于配置文件的属性文件 154
6.3 切换到YAML 157
6.4 使用环境变量设置属性 159
6.5 属性覆盖的顺序 160
6.6 小结 163
第7章 使用Spring Boot发布应用程序 165
7.1 创建超级JAR 165
7.2 组装Docker容器 168
7.3 构建“正确”类型的容器 170
7.4 将应用程序发布到Docker Hub上 173
7.5 在生产环境中进行调整 175
7.6 使用Spring Boot进行扩展 176
7.7 小结 180
第8章 使用Spring Boot构建原生程序 181
8.1 关于GraalVM 181
8.2 为GraalVM改造应用程序 182
8.3 在GraalVM中运行原生Spring Boot应用程序 185
8.4 需要GraalVM的原因 189
8.5 使用GraalVM组装Docker容器 190
8.5.1 Spring Boot 3.0与Spring Boot 2.7和Spring Native 191
8.5.2 GraalVM和其他库 191
8.6 小结 192
第4篇 使用Spring Boot扩展应用程序
第9章 编写响应式Web控制器 195
9.1 关于响应式编程 195
9.1.1 响应式编程简介 196
9.1.2 Reactive Streams详解 197
9.2 创建响应式Spring Boot应用程序 198
9.3 通过响应式GET方法提供数据 200
9.4 通过响应式POST方法使用传入数据 201
9.4.1 使用Project Reactor扩展应用程序 202
9.4.2 Java并发编程简史 203
9.5 提供响应式模板 204
9.5.1 创建响应式Web控制器 205
9.5.2 制作Thymeleaf模板 206
9.6 响应式创建超媒体 210
9.7 小结 216
第10章 响应式处理数据 219
10.1 响应式获取数据的难题 219
10.2 选择响应式数据存储 221
10.3 创建响应式数据存储库 222
10.4 试用R2DBC 223
10.4.1 使用R2dbcEntityTemplate加载数据 225
10.4.2 将数据响应式地返回API控制器 226
10.4.3 响应式地处理模板中的数据 228
10.5 小结 230
猜您喜欢