重磅推荐
【编辑推荐】

Spring Boot每月的下载量超过7500万,是目前使用 广泛的Java框架。它的易用性和强大功能彻底改变了应用程序的开发方式,使应用程序逐渐从单体形式发展到微服务。然而,Spring Boot的简单性也可能令人困惑。开发人员如何学习足够的知识来立即提高生产效率呢?本书展示了如何使用该框架来编写成功的任务关键型应用程序。 本书将带你理解Spring Boot的架构和方法,包括调试、测试和部署等主题。如果你想使用Spring Boot来快速、有效地开发云原生Java或Kotlin应用程序(使用响应式编程、构建API以及创建各种数据库访问),那么本书就是为你准备的。学完本书,你将: 了解Spring Boot如何简化云原生应用程序的开发和部署。 构建响应式应用程序并扩展跨网络边界的通信,以创建分布式系统。 理解Spring Boot的架构和方法如何提高开发人员的生产效率和应用程序的可移植性。 能够快速、可靠地为生产工作负载部署Spring Boot应用程序。 监控应用程序和系统的运行状况,以获得 佳性能和可靠性。 轻松地调试、测试和保护基于云的应用程序。 “对于那些刚开始使用Spring Boot的人来说,本书是 的学习指南。” ——David Syer 博士,VMware “Mark对如何使用Spring Boot来构建应用程序提供了一个全新的视角。使用Spring Boot的人一定不要错过本书。” ——Greg L. Turnquist,YouTube上Spring Boot Learning的主持人 马克·赫克勒(Mark Heckler)是VMware的一名Spring开发人员和倡导者。作为Java Champion以及Kotlin方面的Google Developer Expert,他专注于为云计算快速开发创新的、产品级的软件。他还是一名开源贡献者,也是以开发人员为中心的博客“Hecklers in Development, brewing stronger Java”的博主和管理员。


【内容简介】

本书将指导你理解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章深入探讨响应式编程。


【目录】

前言 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 WebFlu 行响应式编程 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


返回顶部