Spring源碼深度解析(第2版)

Spring源碼深度解析(第2版)

《Spring源碼深度解析(第2版)》是2020年3月人民郵電出版社出版的圖書,作者是郝佳。

基本介紹

  • 中文名:Spring源碼深度解析(第2版)
  • 作者:郝佳
  • 出版社:人民郵電出版社
  • 出版時間:2020年3月
  • 頁數:435 頁
  • 定價:99 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115499141
內容簡介,圖書目錄,

內容簡介

《Spring源碼深度解析(第2版)》從核心實現、企業套用和Spring Boot這3個方面,由淺入深、由易到難地對Spring源碼展開了系統的講解,包括Spring 整體架構和環境搭建、容器的基本實現、默認標籤的解析、自定義標籤的解析、bean的載入、容器的功能擴展、AOP、資料庫連線JDBC、整合MyBatis、事務、SpringMVC、遠程服務、Spring訊息、Spring Boot體系原理等內容。
《Spring源碼深度解析(第2版)》不僅介紹了使用Spring框架開發項目必須掌握的核心概念,還指導讀者使用Spring框架編寫企業級套用,並針對在編寫代碼的過程中如何最佳化代碼、如何使得代碼高效給出了切實可行的建議,從而幫助讀者全面提升實戰能力。
《Spring源碼深度解析(第2版)》語言簡潔,示例豐富,可幫助讀者迅速掌握使用Spring進行開發所需的各種技能。本書適合於已具有一定Java編程基礎的讀者,以及在Java平台下進行各類軟體開發的開發人員、測試人員等。

圖書目錄

第 1部分 核心實現
第 1章 Spring整體架構和環境搭建 2
1.1 Spring的整體架構 2
1.2 環境搭建 4
1.2.1 源碼連結獲取 5
1.2.2 源碼下載及IDEA導入 6
1.3 cglib和objenesis的編譯錯誤解決 9
1.3.1 問題發現及原因 9
1.3.2 問題解決 9
1.4 AspectJ編譯問題解決 10
1.4.1 問題發現 10
1.4.2 問題原因 12
1.4.3 問題解決 13
第 2章 容器的基本實現 19
2.1 容器基本用法 19
2.2 功能分析 20
2.3 工程搭建 21
2.4 Spring的結構組成 22
2.4.1 beans包的層級結構 22
2.4.2 核心類介紹 23
2.5 容器的基礎XmlBeanFactory 26
2.5.1 配置檔案封裝 27
2.5.2 載入Bean 30
2.6 獲取XML的驗證模式 33
2.6.1 DTD與XSD區別 33
2.6.2 驗證模式的讀取 35
2.7 獲取Document 37
2.8 解析及註冊BeanDefinitions 40
2.8.1 profile屬性的使用 42
2.8.2 解析並註冊BeanDefinition 42
第3章 默認標籤的解析 44
3.1 bean標籤的解析及註冊 44
3.1.1 解析BeanDefinition 46
3.1.2 AbstractBeanDefinition屬性 64
3.1.3 解析默認標籤中的自定義標籤元素 67
3.1.4 註冊解析的BeanDefinition 69
3.1.5 通知監聽器解析及註冊完成 72
3.2 alias標籤的解析 72
3.3 import標籤的解析 73
3.4 嵌入式beans標籤的解析 76
第4章 自定義標籤的解析 77
4.1 自定義標籤使用 78
4.2 自定義標籤解析 80
4.2.1 獲取標籤的命名空間 81
4.2.2 提取自定義標籤處理器 81
4.2.3 標籤解析 83
第5章 bean的載入 86
5.1 FactoryBean的使用 92
5.2 快取中獲取單例bean 93
5.3 從bean的實例中獲取對象 94
5.4 獲取單例 98
5.5 準備創建bean 100
5.5.1 處理override屬性 101
5.5.2 實例化的前置處理 102
5.6 循環依賴 104
5.6.1 什麼是循環依賴 104
5.6.2 Spring如何解決循環依賴 104
5.7 創建bean 108
5.7.1 創建bean的實例 111
5.7.2 記錄創建bean的ObjectFactory 120
5.7.3 屬性注入 123
5.7.4 初始化bean 132
5.7.5 註冊DisposableBean 136
第6章 容器的功能擴展 137
6.1 設定配置路徑 138
6.2 擴展功能 138
6.3 環境準備 140
6.4 載入BeanFactory 141
6.4.1 定製BeanFactory 143
6.4.2 載入BeanDefinition 144
6.5 功能擴展 145
6.5.1 增加SpEL語言的支持 146
6.5.2 增加屬性註冊編輯器 147
6.5.3 添加ApplicationContextAwareProcessor處理器 152
6.5.4 設定忽略依賴 154
6.5.5 註冊依賴 154
6.6 BeanFactory的後處理 154
6.6.1 激活註冊的BeanFactoryPostProcessor 154
6.6.2 註冊BeanPostProcessor 160
6.6.3 初始化訊息資源 163
6.6.4 初始化ApplicationEventMulticaster 167
6.6.5 註冊監聽器 169
6.7 初始化非延遲載入單例 169
6.8 finishRefresh 172
第7章 AOP 175
7.1 動態AOP使用示例 175
7.2 動態AOP自定義標籤 177
7.3 創建AOP代理 181
7.3.1 獲取增強器 184
7.3.2 尋找匹配的增強器 193
7.3.3 創建代理 195
7.4 靜態AOP使用示例 209
7.5 創建AOP靜態代理 211
7.5.1 Instrumentation使用 211
7.5.2 自定義標籤 215
7.5.3 織入 217
第 2部分 企業套用
第8章 資料庫連線JDBC 222
8.1 Spring連線資料庫程式實現(JDBC) 223
8.2 save/update功能的實現 225
8.2.1 基礎方法execute 227
8.2.2 Update中的回調函式 231
8.3 query功能的實現 233
8.4 queryForObject 237
第9章 整合MyBatis 239
9.1 MyBatis獨立使用 239
9.2 Spring整合MyBatis 243
9.3 源碼分析 245
9.3.1 sqlSessionFactory創建 245
9.3.2 MapperFactoryBean的創建 249
9.3.3 MapperScannerConfigurer 252
第 10章 事務 262
10.1 JDBC方式下的事務使用示例 262
10.2 事務自定義標籤 265
10.2.1 註冊InfrastructureAdvisorAutoProxyCreator 265
10.2.2 獲取對應class/method的增強器 269
10.3 事務增強器 276
10.3.1 創建事務 279
10.3.2 回滾處理 289
10.3.3 事務提交 295
第 11章 SpringMVC 298
11.1 SpringMVC快速體驗 298
11.2 ContextLoaderListener 302
11.2.1 ServletContextListener的使用 302
11.2.2 Spring中的ContextLoaderListener 303
11.3 DispatcherServlet 306
11.3.1 servlet的使用 307
11.3.2 DispatcherServlet的初始化 308
11.3.3 WebApplicationContext的初始化 311
11.4 DispatcherServlet的邏輯處理 327
11.4.1 MultipartContent類型的request處理 333
11.4.2 根據request信息尋找對應的Handler 333
11.4.3 沒找到對應的Handler的錯誤處理 337
11.4.4 根據當前Handler尋找對應的HandlerAdapter 338
11.4.5 快取處理 338
11.4.6 HandlerInterceptor的處理 339
11.4.7 邏輯處理 340
11.4.8 異常視圖的處理 341
11.4.9 根據視圖跳轉頁面 341
第 12章 遠程服務 347
12.1 RMI 347
12.1.1 使用示例 347
12.1.2 服務端實現 349
12.1.3 客戶端實現 357
12.2 HttpInvoker 362
12.2.1 使用示例 362
12.2.2 服務端實現 364
12.2.3 客戶端實現 368
第 13章 Spring訊息 374
13.1 JMS的獨立使用 374
13.2 Spring整合ActiveMQ 376
13.3 源碼分析 378
13.3.1 JmsTemplate 379
13.3.2 監聽器容器 383
第3部分 Spring Boot
第 14章 Spring Boot體系原理 394
14.1 Spring Boot源碼安裝 396
14.2 第 一個Starter 397
14.3 探索SpringApplication啟動Spring 400
14.3.1 SpringContext創建 401
14.3.2 bean的載入 402
14.3.3 Spring擴展屬性的載入 403
14.3.4 總結 403
14.4 Starter自動化配置原理 403
14.4.1 spring.factories的載入 404
14.4.2 factories調用時序圖 405
14.4.3 配置類的解析 407
14.4.4 Componentscan的切入點 410
14.5 Conditional機制實現 413
14.5.1 Conditional使用 413
14.5.2 Conditional原理 415
14.5.3 調用切入點 418
14.6 屬性自動化配置實現 420
14.6.1 示例 420
14.6.2 原理 422
14.7 Tomcat啟動 428

相關詞條

熱門詞條

聯絡我們