《Spring5攻略》是一本2021年出版的圖書,由人民郵電出版社出版
基本介紹
- 書名:Spring5攻略
- 作者:[美]馬騰·代伊納姆,[美]Daniel Rubio,[美]喬希·朗
- 出版社:人民郵電出版社
- 出版時間:2021年
- 開本:128 開
- 裝幀:平裝-膠訂
- ISBN:9787115561381
內容簡介,作者簡介,目 錄,
內容簡介
Spring是一個開源的輕量級Java開發框架,主要用於解決企業套用開發的複雜性,簡化應用程式的開發。
本書以“菜譜”的方式,介紹了Spring開發期間會遇到的各種需求、問題以及相應的解決方案。本書分為17章,主要內容有Spring開發工具的簡單介紹;Spring是什麼、如何配置、如何使用;如何使用Spring Web MVC框架進行基於Web的開發;Spring對Restful Web Service的支持;Spring MVC的異步處理;使用Spring Social集成社交網路;使用Spring Security保護套用;使用Spring Mobile在套用中集成移動設備檢測和使用功能;如何使用Spring訪問數據;Spring事務管理;使用Spring Batch框架對大型機領域的解決方案進行建模;Spring與NoSQL和Hadoop的混合使用;Spring Java企業服務與遠程技術;Spring訊息機制;使用Spring Integration框架集成不同的服務與數據;Spring Framework的單元測試;Grails框架的簡單介紹。
《Spring 5攻略》適合對Java開發和企業套用集成有一定了解,希望在實際開發中掌握一種全面、快速、可伸縮、可移植的工具平台的開發人員閱讀。
作者簡介
Marten Deinum是開源Spring Framework項目的提交者,也是Conspect公司的Java/軟體諮詢師,為各種小型和大型公司開發並架構軟體(主要基於Java)。他是一位熱忱的開源用戶,並且是Spring Framework的長期冬粉、用戶與擁護者。他擁有多個角色,包括軟體工程師、開發負責人和Java與Spring培訓師。 Daniel Rubio擁有10年以上的企業與Web軟體經驗,目前是MashupSoft網站的創始人與技術負責人。他已經為Apress編寫了多本著作。Daniel的經驗主要集中在Java、Spring、Python、Django、JavaScript/CSS和HTML上。 Josh Long是一名Spring開發大使,目前就職於Pivotal。Josh是一位Java擁躉,5本圖書的作者(包括O’Reilly即將出版的Cloud Native Java),也是3個銷售極佳的培訓視頻的作者(包括與Phil Webb合作的Building Microservices with Spring Boot),同時還是一位開源貢獻者(Spring Boot、Spring Integration、Spring Cloud、Activiti和Vaadin)。
目 錄
第 1章 Spring開發工具 1
1-1 使用Spring Tool Suite構建Spring套用 1
1-2 使用IntelliJ IDE構建Spring套用 5
1-3 使用Maven命令行界面構建Spring套用 8
1-4 使用Maven wrapper構建Spring套用 9
1-5 使用Gradle命令行界面構建Spring套用 10
1-6 使用Gradle wrapper構建Spring套用 11
小結 11
第 2章 Spring核心任務 12
2-1 使用Java config來配置POJO 12
2-2 通過調用構造方法創建POJO 17
2-3 使用POJO引用與自動裝配和其他POJO進行互動 19
2-4 使用@Resource與@Inject註解自動裝配POJO 24
2-5 使用@Scope註解設定POJO的作用域 26
2-6 使用來自於外部資源(文本檔案、XML檔案、屬性檔案或圖像檔案)的
數據 28
2-7 針對不同地域的屬性檔案解析i18n文本信息 31
2-8 使用註解自定義POJO初始化與銷毀動作 33
2-9 創建後置處理器來驗證和修改POJO 36
2-10 使用工廠(靜態工廠、實例方法與Spring的FactoryBean)創建POJO 39
2-11 使用Spring環境與profile載入不同的POJO 42
2-12 讓POJO能夠感知到Spring的IoC容器資源 44
2-13 使用註解實現面向切面編程 45
2-14 訪問連線點信息 52
2-15 通過@Order註解指定切面的順序 52
2-16 重用切面的切點定義 54
2-17 編寫AspectJ切點表達式 55
2-18 使用AOP為POJO添加引介 58
2-19 使用AOP為POJO引入狀態 60
2-20 在Spring中使用載入期編織的AspectJ切面 62
2-21 在Spring中配置AspectJ切面 65
2-22 使用AOP將POJO注入到領域對象中 66
2-23 使用Spring與TaskExecutor實現並發 68
2-24 在POJO間實現套用事件通信 73
小結 75
第3章 Spring MVC 77
3-1 使用Spring MVC開發一個簡單的Web套用 77
3-2 使用@RequestMapping映射請求 86
3-3 使用處理器攔截器攔截請求 89
3-4 解析用戶地域 92
3-5 外部化地域相關的文本信息 94
3-6 根據名字解析視圖 95
3-7 使用視圖與內容協商 97
3-8 將異常映射到視圖 99
3-9 使用控制器處理表單 101
3-10 使用嚮導表單控制器處理多頁面表單 111
3-11 使用註解進行bean驗證(JSR-303) 120
3-12 創建Excel與PDF視圖 121
小結 126
第4章 Spring REST 127
4-1 使用REST服務發布XML 127
4-2 使用REST服務發布JSON 133
4-3 使用Spring訪問REST服務 137
4-4 發布RSS與Atom源 139
小結 146
第5章 Spring MVC:異步處理 147
5-1 使用控制器與TaskExecutor異步處理請求 147
5-2 使用回響寫入器 153
5-3 使用異步攔截器 156
5-4 使用WebSocket 158
5-5 使用Spring WebFlux開發反應式套用 164
5-6 使用反應式控制器處理表單 172
5-7 使用反應式REST服務發布和消費JSON 182
5-8 使用異步Web客戶端 183
5-9 編寫反應式處理器函式 186
小結 188
第6章 Spring Social 189
6-1 搭建Spring Social 189
6-2 連線到Twitter 190
6-3 連線到Facebook 193
6-4 展示服務提供者的連線狀態 195
6-5 使用Twitter API 199
6-6 使用持久化的UsersConnectionRepository 200
6-7 集成Spring Social與Spring Security 201
小結 208
第7章 Spring Security 209
7-1 保護URL訪問 209
7-2 登錄到Web套用 213
7-3 對用戶進行認證 217
7-4 做出訪問控制決策 224
7-5 保護方法調用 229
7-6 處理視圖安全 232
7-7 處理領域對象的安全 233
7-8 向WebFlux套用中添加安全 239
小結 242
第8章 Spring Mobile 243
8-1 不使用Spring Mobile來檢測設備 243
8-2 使用Spring Mobile來檢測設備 246
8-3 使用站點項 247
8-4 使用設備信息來渲染視圖 249
8-5 實現站點切換 252
小結 253
第9章 數據訪問 254
9-1 使用JDBC模板來更新資料庫 259
9-2 使用JDBC模板查詢資料庫 263
9-3 簡化JDBC模板的創建 267
9-4 在JDBC模板中使用具名參數 269
9-5 在Spring JDBC框架中處理異常 271
9-6 直接使用ORM框架來避免問題 274
9-7 在Spring中配置ORM資源工廠 282
9-8 使用Hibernate的上下文會話持久化對象 287
9-9 使用JPA的上下文注入來持久化對象 289
9-10 使用Spring Data JPA簡化JPA操作 292
小結 293
第 10章 Spring事務管理 294
10-1 使用事務管理來避免問題 294
10-2 選擇一種事務管理器實現 299
10-3 使用事務管理器API以編程的方式管理事務 300
10-4 使用事務模板以編程的方式管理事務 302
10-5 使用@Transactional註解以聲明的方式管理事務 304
10-6 設定傳播事務屬性 305
10-7 設定隔離事務屬性 308
10-8 設定回滾事務屬性 314
10-9 設定逾時與唯讀事務屬性 314
10-10 使用載入期編織來管理事務 315
小結 315
第 11章 Spring Batch 316
11-1 搭建Spring Batch基礎設施 317
11-2 讀寫數據 321
11-3 編寫自定義ItemWriter與ItemReader 326
11-4 在寫入前處理輸入 328
11-5 通過事務增強健壯性 330
11-6 重試 331
11-7 控制步驟的執行 333
11-8 啟動任務 337
11-9 參數化任務 340
小結 341
第 12章 Spring與NoSQL 342
12-1 使用MongoDB 342
12-2 使用Redis 352
12-3 使用Neo4j 357
12-4 使用Couchbase 370
小結 382
第 13章 Spring Java企業服務與遠程技術 383
13-1 將Spring POJO註冊為JMX MBean 383
13-2 發布並監聽JMX通知 393
13-3 在Spring中訪問遠程JMX MBean 395
13-4 使用Spring的郵件支持來傳送郵件 398
13-5 藉助Spring的Quartz支持來調度任務 404
13-6 使用Spring的調度支持來調度任務 408
13-7 通過RMI公開和調用服務 410
13-8 通過HTTP公開和調用服務 413
13-9 使用JAX-WS公開和調用SOAP Web Service 415
13-10 使用契約優先的SOAP Web Service 420
13-11 使用Spring-WS公開和調用SOAP Web Service 423
13-12 使用Spring-WS與XML編組來開發SOAP Web Service 429
小結 433
第 14章 Spring訊息機制 434
14-1 使用Spring傳送和接收JMS訊息 434
14-2 轉換JMS訊息 443
14-3 管理JMS事務 445
14-4 在Spring中創建訊息驅動的POJO 446
14-5 快取與池化JMS連線 451
14-6 使用Spring傳送和接收AMQP訊息 452
14-7 使用Spring Kafka傳送和接收訊息 457
小結 463
第 15章 Spring Integration 464
15-1 使用EAI進行系統集成 464
15-2 使用JMS集成兩個系統 466
15-3 查詢Spring Integration訊息以獲取上下文信息 469
15-4 使用檔案系統來集成兩個系統 471
15-5 將訊息由一種類型轉換為另一種類型 473
15-6 使用Spring Integration進行錯誤處理 476
15-7 派生集成控制:分割器與聚合器 478
15-8 使用路由器實現條件路由 481
15-9 使用Spring Batch發起事件 481
15-10 使用網關 484
小結 489
第 16章 Spring測試 490
16-1 使用JUnit與TestNG創建測試 490
16-2 創建單元測試與集成測試 494
16-3 為Spring MVC控制器實現單元測試 501
16-4 在集成測試中管理套用上下文 502
16-5 向集成測試注入測試構件 506
16-6 在集成測試中管理事務 507
16-7 在集成測試中訪問資料庫 511
16-8 使用Spring常見的測試註解 513
16-9 為Spring MVC控制器實現集成測試 513
16-10 為REST客戶端編寫集成測試 516
小結 519
第 17章 Grails 520
17-1 獲取並安裝Grails 520
17-2 創建Grails套用 521
17-3 獲取Grails外掛程式 523
17-4 Grails環境中的開發、生產與測試 524
17-5 創建套用的領域類 525
17-6 為套用的領域類生成CRUD控制器與視圖 527
17-7 為訊息屬性實現國際化(I18n) 529
17-8 變更持久化存儲系統 531
17-9 定製日誌輸出 533
17-10 運行單元與集成測試 535
17-11 使用自定義布局與模板 539
17-12 使用GORM查詢 542
17-13 創建自定義標籤 543
17-14 添加安全 544
小結 547