Spring 5企業級開發實戰

Spring 5企業級開發實戰

《Spring 5企業級開發實戰》是清華大學出版社2019年出版的圖書,作者是周冠亞、黃文毅。

基本介紹

  • 書名:Spring 5企業級開發實戰
  • 作者:周冠亞、黃文毅
  • 頁數:526頁 
  • 定價:118元
  • 出版社:清華大學出版社 
  • 出版時間:2019.07.01 
  • 印次:1-1
  • 印刷日期:2019.06.13 
內容簡介,目錄,

內容簡介

Spring框架是為了降低解決企業系統開發的複雜度而產生的,掌握並學會使用Spring框架進行項目開發,是Java開發人員必備技能之一,本書從企業套用開發的角度出發,深入淺出地講解了Spring 5的新特性和Spring集成開發技術。全書共19章,第1章~第3章主要講解如何搭建Spring開發環境以及Spring IoC和AOP容器的原理及代碼分析。第4章和第5章概述Spring 5和Java 8的新特性。第6章和第7章講解Spring 5新特性—— WebFlux回響式編程、開發和調試。第8章和第9章主要講解Spring 5集成Kotlin語言以及更多Spring 5新特性的細節。

目錄

第一篇 Spring基礎篇
第1章 環境搭建 3
1.1 Spring介紹 3
1.1.1 Spring設計目標 3
1.1.2 Spring各個子模組 3
1.1.3 Spring使用場景 4
1.1.4 Spring與Spring MVC的關係 5
1.1.5 Spring 5高級特性 5
1.2 環境準備 5
1.2.1 安裝JDK 5
1.2.2 安裝IntelliJ IDEA 6
1.2.3 安裝Apache Maven 6
1.2.4 安裝Apache Tomcat 7
1.3 快速搭建Spring 5項目 8
1.3.1 使用IntelliJ IDEA創建Spring 5 + Spring MVC項目 8
1.3.2 測試部署 9
1.4 小結 9
第2章 Spring IoC容器原理 10
2.1 IoC容器揭秘 10
2.1.1 IoC的概念 10
2.1.2 依賴倒置原則 11
2.1.3 依賴注入 16
2.2 Spring IoC的實現方式 17
2.2.1 XML方式實現 17
2.2.2 通過註解方式實現 20
2.3 Spring IoC實現原理解析 21
2.3.1 BeanFactory代碼解析 21
2.3.2 ApplicationContext代碼解析 22
2.3.3 BeanDefinition代碼解析 23
2.3.4 Spring IoC代碼分析 23
2.4 Spring IoC容器中B
2.5小結 52
第3章SpringAOP揭秘 53
3.1AOP前置知識 53
3.1.1JDK動態代理 53
3.1.2CGLIB動態代理 56
3.1.3AOP聯盟 58
3.2AOP概述 58
3.2.1AOP基本概念 58
3.2.2SpringAOP相關概念 59
3.3SpringAOP實現 60
3.3.1基於JDK動態代理實現 60
3.3.2基於CGLIB動態代理實現 65
3.4基於SpringAOP的實戰 70
3.4.1增強類型 70
3.4.2前置增強 71
3.4.3後置增強 73
3.4.4環繞增強 74
3.4.5異常拋出增強 75
3.4.6引介增強 75
3.4.7切入點類型 77
3.5Spring集成AspectJ實戰 78
3.5.1使用AspectJ方式配置SpringAOP 78
3.5.2AspectJ各種切點指示器 81
3.5.3args()與“@args()” 81
3.5.4@annotation() 87
3.5.5execution 89
3.5.6target()與“@target()” 90
3.5.7this() 92
3.5.8within()與“@within()” 95
3.6SpringAOP的實現原理 98
3.6.1設計原理 99
3.6.2JdkDynamicAopProxy 106
3.6.3CglibAopProxy 110
3.7小結 115
第二篇Spring5新特性篇
第4章Spring5新特性概述 117
4.1Spring5.0新特性 117
4.1.1運行環境 117
4.1.2刪除的代碼 118
4.1.3核心修改 118
4.1.4核心容器更新 118
4.1.5SpringWebMVC更新 118
4.1.6SpringWebFlux 119
4.1.7對Kotlin的支持 119
4.1.8測試改進 120
4.2Spring5.1新特性 121
4.2.1核心修改 121
4.2.2核心容器更新 121
4.2.3Web修改 121
4.2.4SpringWebMVC更新 121
4.2.5SpringWebFlux更新 122
4.2.6SpringMessaging更新 122
4.2.7SpringORM更新 122
4.2.8測試更新 122
第5章Java8新特性概述 123
5.1Lambda表達式 123
5.1.1Lambda表達式初探 123
5.1.2Lambda表達式作用域 125
5.1.3線上程中使用Lambda表達式 126
5.1.4在集合中使用Lambda表達式 127
5.1.5在Stream中使用Lambda表達式 128
5.2接口默認方法 129
5.3小結 132
第6章SpringWebFlux回響式編程 133
6.1傳統的編程模型 133
6.2回響式編程模型 134
6.3Reactor 135
6.3.1Flux與Mono 135
6.3.2subscribe() 137
6.3.3操作符(Operator) 139
6.3.4執行緒模型 144
6.4SpringWebFlux 146
6.4.1基於註解的WebFlux開發方式 146
6.4.2基於函式式的WebFlux開發方式 147
6.5小結 152
第7章WebClient回響式客戶端 153
7.1RestTemplate調試SpringMVC 153
7.2WebClient調試SpringWebFlux 156
7.3小結 158
第8章Spring5結合Kotlin編程 159
8.1Kotlin簡介 159
8.1.1Kotlin的特性 159
8.1.2Kotlin基本數據類型 161
8.1.3Kotlin開發環境搭建 161
8.1.4在Kotlin中定義常量與變數 162
8.1.5字元串模板 162
8.1.6NULL檢查機制 163
8.1.7For循環和區間 163
8.1.8定義函式 166
8.1.9類和對象 167
8.1.10Kotlin與Java互操作 169
8.2Spring5集成Kotlin 170
8.3小結 172
第9章Spring5更多新特性 173
9.1Resource接口 173
9.2HTTP2 174
9.2.1HTTP的現狀 174
9.2.2HTTP2的新特性 174
9.2.3多路復用與長連線的區別 175
9.3JUnit5 176
9.3.1JUnit5簡介 176
9.3.2JUnit5快速體驗 176
9.3.3JUnit5常用註解 178
9.4小結 179
第三篇Spring系統集成篇
第10章Spring集成Log4j2 181
10.1Log4j2配置詳解 181
10.2Log4j2日誌級別 184
10.3Log4j2實戰演練 185
10.4小結 188
第11章Spring集成SpringMVC 189
11.1SpringMVC快速體驗 189
11.1.1web.xml配置 189
11.1.2創建SpringMVC的配置檔案 190
11.1.3創建SpringMVC的視圖檔案 190
11.1.4創建控制器 191
11.1.5測試運行 191
11.2SpringMVC視圖呈現 192
11.2.1FreeMarker視圖的實現 192
11.2.2XML視圖的實現 193
11.2.3JSON視圖的實現 195
11.3SpringMVC攔截器 196
11.4SpringMVC代碼解析 198
11.5小結 225
第12章Spring集成MyBatis 226
12.1Spring、SpringMVC和MyBatis集成快速體驗 226
12.2MyBatis代碼解析 236
12.3小結 243
第13章Spring事務管理 244
13.1事務的特性 244
13.2事務的隔離級別 244
13.2.1READ_UNCOMMITTED 245
13.2.2READ_COMMITTED 245
13.2.3REPEATABLE_READ 246
13.2.4SERIALIZABLE 246
13.3JDBC方式使用事務 247
13.4Spring事務管理快速體驗 248
13.5Spring事務隔離級別 254
13.6Spring事務傳播行為 255
13.7Spring事務代碼分析 255
13.8小結 263
第14章Spring集成Redis 264
14.1Redis單節點安裝 264
14.2Redis支持的數據類型 266
14.2.1RedisString類型的使用方式 266
14.2.2RedisHash類型的使用方式 271
14.2.3RedisList類型的使用方式 274
14.2.4RedisSet類型的使用方式 277
14.2.5RedisSortedSet類型的使用方式 280
14.3Redis持久化策略 284
14.3.1RedisRDB持久化 284
14.3.2RedisAOF持久化 285
14.4Redis主從複製模式 287
14.4.1Redis一主一從拓撲結構 289
14.4.2Redis一主多從拓撲結構 289
14.4.3Redis樹形拓撲結構 290
14.4.4Redis主從架構的缺點 291
14.5Redis哨兵模式 291
14.5.1Redis哨兵模式簡介 291
14.5.2Redis哨兵定時監控任務 292
14.5.3主觀下線和客觀下線 294
14.5.4Redis哨兵選舉領導者 295
14.5.5故障轉移 295
14.5.6Redis哨兵模式安裝部署 296
14.6Redis集群模式 302
14.6.1Redis集群模式數據共享 303
14.6.2Redis集群中的主從複製 303
14.6.3Redis集群中的一致性問題 303
14.6.4Redis集群架構 304
14.6.5Redis集群容錯 304
14.6.6Redis集群環境搭建 305
14.7Spring、MyBatis和Redis集成快速體驗 313
14.8Redis快取穿透和雪崩 323
14.8.1Redis快取穿透 323
14.8.2Redis快取雪崩 326
14.9小結 329
第15章Spring集成ZooKeeper 330
15.1ZooKeeper集群安裝 330
15.2ZooKeeper總體架構 336
15.2.1ZooKeeper選舉機制 336
15.2.2ZooKeeper數據模型 338
15.3Spring集成ZooKeeper快速體驗 342
15.4ZooKeeper發布訂閱 346
15.4.1NodeCache 346
15.4.2PathChildrenCache 349
15.4.3TreeCache 352
15.5ZooKeeper分散式鎖 356
15.6小結 361
第16章Spring集成Kafka 362
16.1Kafka集群安裝 362
16.2Kafka總體架構 365
16.3Spring集成Kafka快速體驗 374
16.4小結 377
第17章Spring集成Mycat 379
17.1Mycat分庫分表 379
17.2Mycat分庫分表實戰 381
17.3Spring+MyBatis+Mycat快速體驗 386
17.4小結 397
第18章Spring集成Sharding-JDBC 398
18.1Spring集成Sharding-JDBC快速體驗 398
18.2Sharding-JDBC強制路由 407
18.3Sharding-JDBC分散式主鍵 408
18.4小結 413
第19章Spring集成Dubbo 414
19.1遠程過程調用協定 414
19.2Spring集成Dubbo快速體驗 415
19.3Dubbo代碼分析 419
19.4小結 452
附錄A設計模式 453
A.1工廠模式 453
A.2抽象工廠模式 456
A.3單例模式 462
A.4建造者模式 463
A.5原型模式 468
A.6適配器模式 472
A.7橋接模式 476
A.8標準模式 477
A.9組合模式 481
A.10裝飾器模式 483
A.11外觀模式 486
A.12享元模式 489
A.13代理模式 491
A.14責任鏈模式 493
A.15命令模式 496
A.16解釋器模式 499
A.17疊代器模式 502
A.18中介者模式 504
A.19備忘錄模式 506
A.20觀察者模式 509
A.21狀態模式 511
A.22空對象模式 513
A.23策略模式 516
A.24模板模式 519
A.25攔截過濾器模式 522
參考文獻 365

相關詞條

熱門詞條

聯絡我們