描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111690245丛书名: O’Reilly精品图书系列
●本书语言简练,既适合刚接触Spring Boot的新手学习基础知识,也适合有经验的开发者找到关键功能,以便将这些功能应用到实际应用中。
Spring Boot每月的下载量超过7500万,是目前使用广泛的Java框架。它的易用性和强大功能彻底改变了应用程序的开发方式,使应用程序逐渐从单体形式发展到微服务。然而,Spring Boot的简单性也可能令人困惑。开发人员如何学习足够的知识来立即提高生产效率呢?本书展示了如何使用该框架来编写成功的任务关键型应用程序。
本书将带你理解Spring Boot的架构和方法,包括调试、测试和部署等主题。如果你想使用Spring Boot来快速、有效地开发云原生Java或Kotlin应用程序(使用响应式编程、构建API以及创建各种数据库访问),那么本书就是为你准备的。
学完本书,你将:
●了解Spring Boot如何简化云原生应用程序的开发和部署。
●构建响应式应用程序并扩展跨网络边界的通信,以创建分布式系统。
●理解Spring Boot的架构和方法如何提高开发人员的生产效率和应用程序的可移植性。
●能够快速、可靠地为生产工作负载部署Spring Boot应用程序。
●监控应用程序和系统的运行状况,以获得性能和可靠性。
●轻松地调试、测试和保护基于云的应用程序。
本书将指导你理解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章 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
欢迎来到Spring Boot的世界。
优秀的书是由优秀的人写的。由于每一位作者的水平不同,想侧重呈现的知识不同,对待某个知识点的观点不同,因此同一技术领域的书,内容往往各不相同。比如,一本书中删减的内容在另一本书中可能是重要知识点。
每一位开发者都有自己的观点。我的观点是,一些其他书中未涉及的基础内容对于刚接触Spring Boot的开发人员来说是必要的、有帮助的。在几十年的职业生涯中,我与世界各地不同阶段的开发人员就Spring Boot进行了交流,了解了他们各自不同的知识缺陷和开发弊端。于是,我下定决心总结这些缺失的知识和开发经验,并把一切都装进了这本书中。
本书语言简练,既适合刚接触Spring Boot的新手学习基础知识,也适合有经验的开发者找到关键功能,以便将这些功能应用到实际应用中。
感谢你和我一起踏上这段旅程。让我们开始吧!
【示例代码免费下载】
可以从https://resources.oreilly.com/examples/0636920338727下载补充材料(示例代码、练习、勘误等)。
★无论你是Spring Boot的新手还是有经验的开发人员,本书都大有助益。Mark在本书中涵盖了开发Spring Boot应用程序的诸多复杂细节,通过相互关联且易于理解的代码示例,为开发人员提供了实用的指导。
—Nikhil Nanivadekar,Java Champion
★Mark Heckler在本书中展现的独特技术见解和魅力没有让我失望!自从5年前加入我们的Spring开发团队以来,Mark已经成长为一名Spring专家。他数十年的行业经验以及对Spring的成熟且新颖的见解,使他能与那些想用Spring Boot开展工作的人产生共鸣,从而可以与他们进行交流。本书是Spring Boot知识的总和,是一切Spring Boot问题的答案,是学习Spring Boot的不二法门。
—Josh Long (@starbuxman),Spring开发者和倡导者
★对于那些刚开始使用Spring Boot的人来说,本书是很棒的学习指南。
—David Syer博士,VMware
★Mark对如何使用Spring Boot构建应用程序提供了一个全新的视角。使用Spring Boot的人一定不要错过本书。
—Greg L. Turnquist,YouTube上Spring Boot Learning的主持人
评论
还没有评论。