Spring 實戰, 6/e Spring in Action, 6/e
[美]克雷格·沃斯(Craig Walls)
- 出版商: 人民郵電
- 出版日期: 2022-12-01
- 售價: $659
- 貴賓價: 9.5 折 $626
- 語言: 簡體中文
- 頁數: 476
- ISBN: 711559869X
- ISBN-13: 9787115598691
-
相關分類:
Java
- 此書翻譯自: Spring in Action, 6/e (Paperback) 銷售排行: 🥈 2023/1 簡體中文書 銷售排行 第 2 名
立即出貨
買這商品的人也買了...
-
$650$514 -
$780$663 -
$454JavaEE 開發的顛覆者: Spring Boot實戰
-
$419$398 -
$301Spring MVC 學習指南, 2/e
-
$607Effective Java, 3/e (簡體中文版)
-
$1,000$780 -
$580$458 -
$857瘋狂 Spring Boot 終極講義
-
$980$774 -
$880$695 -
$580$458 -
$834$792 -
$600$468 -
$800$624 -
$1,000$790 -
$560Spring微服務實戰(第2版)
-
$650$507 -
$650$507 -
$650$507 -
$680$530 -
$880$748 -
$600$468 -
$580$458 -
$1,080$853
相關主題
商品描述
本書是一本經典而實用的Spring學習指南,介紹了Spring使用框架、Spring Boot,以及Spring系統中的其他組成部分。
本書分為4個部分,共18章。第1部分(第1章~第6章)涵蓋了構建Spring應用的基礎知識。第2部分(第7章~第10章)討論瞭如何講Spring應用與其他應用進行集成。第3部分(第11章~第14章)探討了Spring對反應式編程提供的全新支持。第4部分(第15章~第18章)介紹瞭如何做好應用投入生產環境前的準備工作,以及如何進行部署。
本書適合剛剛開始學習Spring Boot和Spring框架的Java開發人員閱讀,也適合想要超越基礎知識並學習Spring新特性的經驗豐富的Spring開發者參考。
作者簡介
Craig Walls是Pivotal的工程师。他是Spring框架的热心推动者,经常在本地用户组和会议上发言,撰写关于Spring的文章。在不琢磨代码的时候,Craig经常计划去迪斯尼世界或迪斯尼的下一次旅行,他希望尽可能多地陪伴他的妻子、两个女儿和宠物。
目錄大綱
第 1部分 Spring基礎
第 1章 Spring起步 3
1.1 什麽是Spring 4
1.2 初始化Spring應用 6
1.2.1 使用Spring Tool Suite初始化Spring項目 7
1.2.2 檢查Spring項目的結構 9
1.3 編寫Spring應用 15
1.3.1 處理Web請求 16
1.3.2 定義視圖 17
1.3.3 測試控制器 18
1.3.4 構建和運行應用 19
1.3.5 瞭解Spring Boot
DevTools 21
1.3.6 回顧一下 23
1.4 俯瞰Spring風景線 24
1.4.1 Spring核心框架 24
1.4.2 Spring Boot 24
1.4.3 Spring Data 25
1.4.4 Spring Security 25
1.4.5 Spring Integration和
Spring Batch 25
1.4.6 Spring Cloud 26
1.4.7 Spring Native 26
1.5 小結 26
第 2章 開發Web應用 27
2.1 展現信息 28
2.1.1 構建領域類 29
2.1.2 創建控制器類 32
2.1.3 設計視圖 36
2.2 處理表單提交 39
2.3 校驗表單輸入 46
2.3.1 聲明校驗規則 47
2.3.2 在表單綁定的時候執行校驗 49
2.3.3 展現校驗錯誤 50
2.4 使用視圖控制器 51
2.5 選擇視圖模板庫 53
2.5.1 緩存模板 55
2.6 小結 55
第3章 使用數據 57
3.1 使用JDBC讀取和寫入數據 57
3.1.1 調整領域對象以適應持久化 59
3.1.2 使用JdbcTemplate 60
3.1.3 定義模式和預加載數據 66
3.1.4 插入數據 68
3.2 使用Spring Data JDBC 73
3.2.1 添加Spring Data JDBC到構建文件中 74
3.2.2 定義存儲庫接口 74
3.2.3 為領域類添加持久化的註解 76
3.2.4 使用CommandLineRunner預加載數據 78
3.3 使用Spring Data JPA持久化數據 80
3.3.1 添加Spring Data JPA到項目中 80
3.3.2 將領域對象標註為實體 81
3.3.3 聲明JPA存儲庫 84
3.3.4 自定義JPA存儲庫 85
小結 88
第4章 使用非關系型數據 89
4.1 使用Cassandra存儲庫 90
4.1.1 啟用Spring Data Cassandra 90
4.1.2 理解Cassandra數據模型 93
4.1.3 為Cassandra持久化映射領域類型 93
4.1.4 編寫Cassandra存儲庫 99
4.2 編寫MongoDB存儲庫 100
4.2.1 啟用Spring Data MongoDB 101
4.2.2 將領域類型映射為文檔 102
4.2.3 編寫MongoDB存儲庫接口 105
小結 106
第5章 保護Spring 107
5.1 啟用Spring Security 107
5.2 配置Spring Security 110
5.2.1 基於內存的用戶詳情服務 111
5.2.2 自定義用戶認證 112
5.3 保護Web請求 118
5.3.1 保護請求 118
5.3.2 創建自定義的登錄頁 121
5.3.3 啟用第三方認證 123
5.3.4 防止跨站請求偽造 126
5.4 實現方法級別的安全 127
5.5 瞭解用戶是誰 129
小結 132
第6章 使用配置屬性 133
6.1 細粒度地調整自動配置 134
6.1.1 理解Spring的環境抽象 134
6.1.2 配置數據源 136
6.1.3 配置嵌入式服務器 137
6.1.4 配置日誌 138
6.1.5 使用特定的屬性值 140
6.2 創建自己的配置屬性 140
6.2.1 定義配置屬性的持有者 143
6.2.2 聲明配置屬性元數據 145
6.3 使用profile進行配置 147
6.3.1 定義特定profile的屬性 147
6.3.2 激活profile 149
6.3.3 使用profile條件化地創建bean 150
小結 151
第 2部分 Spring集成
第7章 創建REST服務 155
7.1 編寫RESTful控制器 156
7.1.1 從服務器中檢索數據 156
7.1.2 發送數據到服務器端 162
7.1.3 在服務器上更新數據 163
7.1.4 刪除服務器上的數據 165
7.2 啟用數據後端服務 165
7.2.1 調整資源路徑和關系名稱 168
7.2.2 分頁和排序 170
7.3 消費REST服務 171
7.3.1 GET資源 173
7.3.2 PUT資源 174
7.3.3 DELETE資源 174
7.3.4 POST資源 175
小結 176
第8章 保護REST 177
8.1 OAuth 2簡介 178
8.2 創建授權服務器 183
8.3 使用資源服務器保護API 190
8.4 開發客戶端 193
小結 198
第9章 發送異步消息 199
9.1 使用JMS發送消息 200
9.1.1 搭建JMS環境 200
9.1.2 使用JmsTemplate發送消息 202
9.1.3 接收JMS消息 210
9.2 使用RabbitMQ和
AMQP 214
9.2.1 添加RabbitMQ到Spring中 215
9.2.2 通過RabbitTemplate發送消息 216
9.2.3 接收來自RabbitMQ的消息 220
9.3 使用Kafka的消息 224
9.3.1 為Spring搭建支持Kafka消息的環境 224
9.3.2 通過KafkaTemplate發送消息 226
9.3.3 編寫Kafka監聽器 228
小結 229
第 10章 Spring集成 231
10.1 聲明一個簡單的集成流 232
10.1.1 使用XML定義集成流 233
10.1.2 使用Java配置集成流 235
10.1.3 使用Spring Integration的DSL配置 237
10.2 Spring Integration功能概覽 238
10.2.1 消息通道 239
10.2.2 過濾器 240
10.2.3 轉換器 241
10.2.4 路由器 243
10.2.5 切分器 244
10.2.6 服務激活器 247
10.2.7 網關 249
10.2.8 通道適配器 250
10.2.9 端點模塊 252
10.3 創建電子郵件集成流 253
小結 261
第3部分 反應式Spring
第 11章 理解反應式編程 265
11.1 反應式編程概覽 266
11.1.1 定義反應式流 267
11.2 初識Reactor 269
11.2.1 繪制反應式流圖 270
11.2.2 添加Reactor依賴 271
11.3 使用常見的反應式操作 272
11.3.1 創建反應式類型 272
11.3.2 組合反應式類型 276
11.3.3 轉換和過濾反應式流 280
11.3.4 在反應式類型上執行邏輯操作 290
小結 292
第 12章 開發反應式API 293
12.1 使用Spring WebFlux 293
12.1.1 Spring WebFlux簡介 294
12.1.2 編寫反應式控制器 296
12.2 定義函數式請求處理器 300
12.3 測試反應式控制器 304
12.3.1 測試GET請求 304
12.3.2 測試POST請求 307
12.3.3 使用實時服務器進行測試 308
12.4 反應式消費REST API 309
12.4.1 獲取資源 310
12.4.2 發送資源 312
12.4.3 刪除資源 313
12.4.4 處理錯誤 313
12.4.5 交換請求 315
12.5 保護反應式Web API 316
12.5.1 配置反應式Web應用的安全性 317
12.5.2 配置反應式的用戶詳情服務 318
12.6 小結 320
第 13章 反應式持久化數 321
13.1 使用R2DBC 321
13.1.1 為R2DBC定義領域實體 322
13.1.2 定義反應式存儲庫 326
13.1.3 測試R2DBC存儲庫 328
13.1.4 定義OrderRepository的聚合根服務 330
13.2 反應式地持久化MongoDB文檔數據 336
13.2.1 定義領域文檔類型 337
13.2.2 定義反應式MongoDB存儲庫 340
13.2.3 測試反應式MongoDB存儲庫 340
13.3 反應式地持久化Cassandra數據 344
13.3.1 定義使用Cassandra持久化的領域類 344
13.3.2 創建反應式Cassandra存儲庫 348
13.3.3 測試反應式Cassandra存儲庫 349
小結 351
第 14章 使用RSocket 353
14.1 RSocket概覽 354
14.2 創建簡單的RSocket服務器和客戶端 355
14.2.1 使用請求-響應通信模型 356
14.2.2 處理請求-流的消息 359
14.2.3 發送即發即忘的消息 361
14.2.4 雙向發送消息 363
14.3 通過WebSocket傳輸RSocket 366
小結 367
第4部分 部署Spring
第 15章 使用Spring Boot Actuator 371
15.1 Actuator概覽 371
15.1.1 配置Actuator的基礎路徑 373
15.1.2 啟用和禁用Actuator端點 373
15.2 消費Actuator端點 374
15.2.1 獲取應用的基礎信息 375
15.2.2 查看配置細節 378
15.2.3 查看應用的活動 386
15.2.4 挖掘應用運行時的指標 388
15.3 自定義Actuator 391
15.3.1 為“/info”端點提供息 391
15.3.2 實現自定義的健康指示器 396
15.3.3 註冊自定義的指標 398
15.3.4 創建自定義的端點 399
15.4 確保Actuator的安全 402
小結 404
第 16章 管理Spring
16.1 使用Spring Boot
Admin
16.1.1 創建Admin服務器 406
16.1.2 註冊Admin客戶端 407
16.2 探索Admin服務器 409
16.2.1 查看應用基本的健康狀況和信息 409
16.2.2 觀察核心指標 410
16.2.3 探查環境屬性 410
16.2.4 查看和設置日誌級別 411
16.3 保護Admin服務器 412
16.3.1 為Admin服務器啟用登錄功能 412
16.3.2 為Actuator啟用認證 413
小結 414
第 17章 使用JMX監控Spring 415
17.1 使用Actuator MBean 415
17.2 創建自己的MBean 418
17.3 發送通知 419
17.4 小結 421
第 18章 部署Spring 423
18.1 權衡各種部署方案 424
18.2 構建可執行JAR文件 425
18.3 構建容器鏡像 426
18.3.1 部署至Kubernetes 428
18.3.2 啟用優雅關機功能 430
18.3.3 處理應用程序的存活和就緒狀態 431
18.4 構建和部署WAR文件 434
18.5 以終為始 436
18.6 小結 436
附錄 初始化Spring應用 437
A.1 使用Spring Tool Suite初始化項目 437
A.2 使用IntelliJ IDEA初始化項目 440
A.3 使用NetBeans初始化項目 441
A.4 在start.spring.io中初始化項目 445
A.5 使用命令行初始化項目 447
A.5.1 curl和Initializr API 448
A.5.2 Spring Boot命令行接口 449
A.6 構建和運行項目 450