Spring 實戰, 5/e (Spring in Action, 5/e)

Spring 實戰, 5/e (Spring in Action, 5/e)

作者: [美] 克雷格·沃斯(Craig Walls)
出版社: 人民郵電
出版在: 2020-02-01
ISBN-13: 9787115527929
ISBN-10: 711552792X




內容描述


本書是一本經典而實用的暢銷Spring 學習指南。
第5 版涵蓋了Spring 5.0 和Spring Boot 2.0 里程碑式的更新。全書分為5 個部分,共19 章。第1 部分(第1~5 章)涵蓋了構建Spring 應用的基礎話題。第2 部分(第6~9章)討論如何將Spring 應用與其他應用進行集成。第3 部分(第10~12 章)探討Spring對反應式編程提供的全新支持。第4 部分(第13~15 章)拆分單體應用模型,介紹SpringCloud 和微服務開發。第5 部分(第16~19 章)討論如何為應用投入生產環境做準備以及如何進行部署。
 
本書既適合剛開始學習Spring Boot 和Spring 框架的Java 開發人員快速上手,也適合經驗豐富的Spring 開發人員學習Spring 的新特性,尤其適用於企業級Java 開發人員。


目錄大綱


第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項目的結構10
1.3編寫Spring應用16
1.3.1處理Web請求16
1.3.2定義視圖17
1.3.3測試控制器18
1.3.4構建和運行應用20
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 25
1.4.3 Spring Data 25
1.4.4 Spring Security 25
1.4.5 Spring Integration和SpringBatch 26
1.4.6 Spring Cloud 26
1.5小結26

第2章開發Web應用27
2.1展現信息27
2.1.1構建領域類28
2.1.2創建控制器類30
2.1.3設計視圖33
2.2處理表單提交37
2.3校驗表單輸入43
2.3.1聲明校驗規則43
2.3. 2在表單綁定的時候執行校驗45
2.3.3展現校驗錯誤46
2.4使用視圖控制器48
2.5選擇視圖模板庫49
2.6小結52

第3章使用數據53
3.1使用JDBC讀取和寫入數據53
3.1.1調整領域對像以適應持久化55
3.1.2使用JdbcTemplate 56
3.1.3定義模式和預加載數據61
3.1.4插入數據63
3.2使用Spring Data JPA持久化數據72
3.2.1添加Spring Data JPA到項目中72
3.2.2將領域對象標註為實體73
3.2.3聲明JPA repository 76
3.2.4自定義JPA repository 77
3.3小結80

第4章保護Spring 81
4.1啟用Spring Security 81
4.2配置Spring Security 83
4.2.1基於內存的用戶存儲85
4.2.2基於JDBC的用戶存儲86
4.2.3以LDAP作為後端的用戶存儲89
4.2.4自定義用戶認證92
4.3保護Web請求100
4.3.1保護請求100
4.3.2創建自定義的登錄頁103
4.3.3退出105
4.3.4防止跨站請求偽造106
4.4了解用戶是誰107
4.5小結109

第5章使用配置屬性111
5.1細粒度的自動配置112
5.1.1理解Spring的環境抽象112
5.1.2配置數據源114
5.1.3配置嵌入式服務器115
5.1.4配置日誌116
5.1.5使用特定的屬性值118
5.2創建自己的配置屬性118
5.2.1定義配置屬性的持有者120
5.2.2聲明配置屬性元數據123
5.3使用profile進行配置125
5.3.1定義特定profile的屬性126
5.3.2激活profile 127
5.3.3使用profile條件化地創建bean 128
5.4小結129

第2部分Spring集成

第6章創建REST服務133
6.1編寫RESTful控制器134
6.1.1從服務器中檢索數據136
6.1.2發送數據到服務器端140
6.1.3在服務器上更新數據142
6.1.4刪除服務器上的數據144
6.2啟用超媒體145
6.2.1添加超鏈接147
6.2. 2創建資源裝配器149
6.2.3命名嵌套式的關聯關係154
6.3啟用數據後端服務155
6.3.1調整資源路徑和關係名稱157
6.3.2分頁和排序159
6.3.3添加自定義的端點160
6.3.4為Spring Data端點添加自定義的超鏈接162
6.4小結163

第7章消費REST服務165
7.1使用RestTemplate消費REST端點166
7.1.1 GET資源167
7.1.2 PUT資源169
7.1.3 DELETE資源169
7.1 .4 POST資源169
7.2使用Traverson導航REST API 170
7.3小結172

第8章發送異步消息173
8.1使用JMS發送消息174
8.1.1搭建JMS環境174
8.1.2使用JmsTemplate發送消息176
8.1.3接收JMS消息183
8.2使用RabbitMQ和AMQP 186
8.2.1添加RabbitMQ到Spring中188
8.2.2通過RabbitTemplate發送消息189
8.2.3接收來自RabbitMQ的消息192
8.3使用Kafka的消息196
8.3.1為Spring搭建支持Kafka消息的環境197
8.3.2通過KafkaTemplate發送消息198
8.3.3編寫Kafka監聽器200
8.4小結201

第9章Spring集成203
9.1聲明一個簡單的集成流204
9.1.1使用XML定義集成流205
9.1.2使用Java配置集成流207
9.1.3使用Spring Integration的DSL配置209
9.2 Spring Integration功能概覽210
9.2.1消息通道211
9.2.2過濾器212
9.2.3轉換器213
9.2.4路由器214
9.2.5切分器216
9.2.6服務激活器218
9.2.7網關220
9.2. 8通道適配器221
9.2.9端點模塊223
9.3創建Email集成流224
9.4小結229

第3部分反應式Spring

第10章理解反應式編程233
10.1反應式編程概覽234
10.2初識Reactor 237
10.2.1繪製反應式流圖238
10.2.2添加Reactor依賴239
10.3使用常見的反應式操作240
10.3.1創建反應式類型240
10.3.2組合反應式類型244
10.3.3轉換和過濾反應式流248
10.3.4在反應式類型上執行邏輯操作258
10.4小結259

第11章開發反應式API 261
11.1使用Spring WebFlux 261
11.1.1 Spring WebFlux簡介262
11.1.2編寫反應式控制器264
11.2定義函數式請求處理器268
11.3測試反應式控制器271
11.3.1測試GET請求271
11.3.2測試POST請求274
11.3.3使用實時服務器進行測試275
11.4反應式消費REST API 276
11.4.1獲取資源277
11.4.2發送資源279
11.4.3刪除資源280
11.4.4處理錯誤280
11.4.5交換請求282
11.5保護反應式Web API 283
11.5.1配置反應式Web應用的安全性284
11.5.2配置反應式的用戶詳情服務285
11.6小結287

第12章反應式持久化數據289
12.1理解Spring Data的反應式概況290
12.1. 1 Spring Data反應式本質論290
12.1.2反應式和非反應式類型之間的轉換291
12.1.3開發反應式repository 292
12.2使用反應式的Cassandra repository 293
12.2.1啟用Spring DataCassandra 293
12.2.2理解Cassandra的數據模型296
12.2. 3將領域對象映射為Cassandra持久化296
12.2.4編寫反應式Cassandra repository 301
12.3編寫反應式的MongoDB repository 304
12.3.1啟用Spring DataMongoDB 304
12.3.2將領域對象映射為文檔306
12.3.3編寫反應式的MongoDBrepository接口309
12.4小結312

第4部分雲原生Spring

第13章註冊和發現服務315
13.1思考微服務316
13.2搭建服務註冊中心318
13.2.1配置Eureka 321
13.2.2擴展Eureka 324
13.3註冊和發現服務325
13.3.1配置Eureka客戶端屬性326
13.3.2消費服務328
13.4小結332

第14章管理配置333
14.1共享配置334
14.2運行配置服務器335
14.2.1啟用配置服務器336
14.2.2填充配置倉庫339
14.3消費共享配置341
14.4提供特定應用和profile的屬性343
14.4.1提供特定應用的屬性343
14.4.2提供來自profile的屬性344
14.5保持配置屬性的私密性346
14.5 .1在Git中加密屬性346
14.5.2在Vault中存儲私密信息349
14.6在運行時刷新配置屬性353
14.6.1手動刷新配置屬性354
14.6.2自動刷新配置屬性356
14.7小結363

第15章處理失敗和延遲365
15.1理解斷路器模式365
15.2聲明斷路器367
15.2.1緩解延遲369
15.2.2管理斷路器的閾值371
15.3監控失敗372
15.3.1 Hystrix dashboard簡介373
15.3.2理解Hystrix的線程模型375
15.4聚合多個Hystrix流377
15.5小結378

第5部分部署Spring

第16章使用Spring BootActuator 381
16.1 Actuator概覽382
16.1.1配置Actuator的基礎路徑383
16.1.2啟用和禁用Actuator端點383
16.2消費Actuator端點384
16.2.1獲取應用的基礎信息385
16.2 .2查看配置細節388
16.2.3查看應用的活動396
16.2.4獲取應用的指標398
16.3自定義Actuator 401
16.3.1為“/info”端點提供信息401
16.3.2實現自定義的健康指示器405
16.3.3註冊自定義的指標407
16.3.4創建自定義的端點408
16.4保護Actuator 411
16.5小結413

第17章管理Spring 415
17.1使用Spring BootAdmin 415
17.1.1創建Admin服務器416
17.1.2註冊Admin客戶端418
17.2探索Admin服務器421
17.2.1查看應用基本的健康狀況和信息421
17.2.2觀察核心指標423
17.2.3探查環境屬性424
17.2.4查看和設置日誌級別424
17.2.5監控線程425
17.2. 6跟踪HTTP請求426
17.3保護Admin服務器428
17.3.1為Admin服務器啟用登錄功能428
17.3.2為Actuator啟用認證429
17.4小結429

第18章使用JMX監控Spring 431
18.1使用Actuator MBean 431
18.2創建自己的MBean 434
18.3發送通知436
18.4小結437

第19章部署Spring 439
19.1權衡各種部署方案440
19.2構建和部署WAR文件441
19.3推送JAR文件到CloudFoundry上443
19.4在Docker容器中運行Spring Boot 445
19.5以終為始449
19.6小結449

附錄初始化Spring應用451
A.1使用Spring Tool Suite初始化項目451
A.2使用IntelliJ IDEA初始化項目454
A.3使用NetBeans初始化項目457
A.4在start.spring.io中初始化項目459
A .5使用命令行初始化項目462
A.5.1 curl和Initializr API 462
A.5.2 Spring Boot命令行接口464
A.6使用元框架創建Spring應用465
A.7構建和運行項目465


作者介紹


克雷格·沃斯(Craig Walls)是Pivotal的首席軟件工程師、暢銷書作者、Spring框架的熱情支持者,經常在各種技術會議上發表演講。




相關書籍

Visual Basic 2010 程式設計, 2/e

作者 許華青

2020-02-01

Visual Studio 2019 Tricks and Techniques: A developer's guide to writing better code and maximizing productivity

作者 Schroeder Paul Cure Aaron

2020-02-01

RS232 /網路喚醒/GPIB 儀器控制/遠端遙控和監控:實例應用和解析使用 Visual Basic 6

作者 鄭集集

2020-02-01