本書將指導你理解Spring Boot的架構和方法,包括調試、測試和部署等主題。
第1章介紹Spring Boot的三個核心特性。
第2章研究創(chuàng)建Spring Boot應用程序時可選擇的工具。
第3章演示如何使用Spring Boot來開發(fā)一個基本的應用程序。
第4章演示如何對Spring Boot應用程序添加數據庫訪問。
第5章演示如何使用Spring Boot的內置配置功能、自動配置報告和執(zhí)行器來靈活且動態(tài)地創(chuàng)建、識別和修改應用程序環(huán)境設置。
第6章深入地研究數據。
第7章演示如何使用Spring MVC創(chuàng)建應用程序。
第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 用于簡化部署的可執(zhí)行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 使用集成開發(fā)環(huán)境 22
2.7 了解main( ) 23
2.8 總結 25
●第3章 創(chuàng)建你的第一個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 創(chuàng)建一個簡單的域 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提高環(huán)境適應能力 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創(chuàng)建基于模板的服務 83
6.5.1 初始化項目 84
6.5.2 開發(fā)Redis服務 84
6.6 從模板轉換到存儲庫 92
6.7 使用JPA創(chuàng)建基于存儲庫的服務 95
6.7.1 初始化項目 95
6.7.2 開發(fā)JPA(MySQL)服務 96
6.7.3 加載數據 100
6.8 使用NoSQL文檔數據庫創(chuàng)建基于存儲庫的服務 104
6.8.1 初始化項目 104
6.8.2 開發(fā)MongoDB服務 106
6.9 使用NoSQL圖形數據庫創(chuàng)建基于存儲庫的服務 111
6.9.1 初始化項目 111
6.9.2 開發(fā)Neo4j服務 112
6.10 總結 120
●第7章 使用Spring MVC創(chuàng)建應用程序 122
7.1 Spring MVC是什么 122
7.2 使用模板引擎的終端用戶交互 123
7.2.1 初始化項目 123
7.2.2 開發(fā)Aircraft Positions應用程序 124
7.3 傳遞消息 130
7.3.1 啟動PlaneFinder 131
7.3.2 擴展Aircraft Positions應用程序 134
7.4 使用WebSocket創(chuàng)建對話 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可執(zhí)行JAR 226
11.1.1 構建一個“完全可執(zhí)行的”Spring Boot JAR 227
11.1.2 這是什么意思 232
11.2 擴展JAR 233
11.3 將Spring Boot應用程序部署到容器中 238
11.3.1 從IDE創(chuàng)建容器鏡像 239
11.3.2 從命令行創(chuàng)建容器鏡像 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