注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Spring源碼深度解析(第2版)

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

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

定 價:¥99.00

作 者: 郝佳 著
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

ISBN: 9787115499141 出版時間: 2019-01-01 包裝: 平裝
開本: 16開 頁數(shù): 435 字數(shù):  

內(nèi)容簡介

  《Spring源碼深度解析(第2版)》從核心實現(xiàn)、企業(yè)應(yīng)用和Spring Boot這3個方面,由淺入深、由易到難地對Spring源碼展開了系統(tǒng)的講解,包括Spring 整體架構(gòu)和環(huán)境搭建、容器的基本實現(xiàn)、默認標簽的解析、自定義標簽的解析、bean的加載、容器的功能擴展、AOP、數(shù)據(jù)庫連接JDBC、整合MyBatis、事務(wù)、SpringMVC、遠程服務(wù)、Spring消息、Spring Boot體系原理等內(nèi)容?!禨pring源碼深度解析(第2版)》不僅介紹了使用Spring框架開發(fā)項目必須掌握的核心概念,還指導(dǎo)讀者使用Spring框架編寫企業(yè)級應(yīng)用,并針對在編寫代碼的過程中如何優(yōu)化代碼、如何使得代碼高效給出了切實可行的建議,從而幫助讀者全面提升實戰(zhàn)能力?!禨pring源碼深度解析(第2版)》語言簡潔,示例豐富,可幫助讀者迅速掌握使用Spring進行開發(fā)所需的各種技能。本書適合于已具有一定Java編程基礎(chǔ)的讀者,以及在Java平臺下進行各類軟件開發(fā)的開發(fā)人員、測試人員等。

作者簡介

  郝佳,計算機專業(yè)碩士學(xué)位,曾發(fā)表過多篇論文并先后被EI、SCI收錄;2008 年遼寧省教育廳科技計劃項目研究人之一;長期奮斗于J2EE領(lǐng)域,2013年入職阿里巴巴,目前擔(dān)任業(yè)務(wù)中間件軟件架構(gòu)師;一直專注于中間件領(lǐng)域,擁有6項技術(shù)專利,擅長系統(tǒng)的性能優(yōu)化;熱衷于研究各種開源代碼并從中進行總結(jié),從而實現(xiàn)個人技能的提高,尤其對Spring、Hibernate、MyBatis、JMS、Tomcat等源碼有著深刻的理解和認識。

圖書目錄

第 1部分 核心實現(xiàn)
第 1章 Spring整體架構(gòu)和環(huán)境搭建 2
1.1 Spring的整體架構(gòu) 2
1.2 環(huán)境搭建 4
1.2.1 源碼鏈接獲取 5
1.2.2 源碼下載及IDEA導(dǎo)入 6
1.3 cglib和objenesis的編譯錯誤解決 9
1.3.1 問題發(fā)現(xiàn)及原因 9
1.3.2 問題解決 9
1.4 AspectJ編譯問題解決 10
1.4.1 問題發(fā)現(xiàn) 10
1.4.2 問題原因 12
1.4.3 問題解決 13
第 2章 容器的基本實現(xiàn) 19
2.1 容器基本用法 19
2.2 功能分析 20
2.3 工程搭建 21
2.4 Spring的結(jié)構(gòu)組成 22
2.4.1 beans包的層級結(jié)構(gòu) 22
2.4.2 核心類介紹 23
2.5 容器的基礎(chǔ)XmlBeanFactory 26
2.5.1 配置文件封裝 27
2.5.2 加載Bean 30
2.6 獲取XML的驗證模式 33
2.6.1 DTD與XSD區(qū)別 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 通知監(jiān)聽器解析及注冊完成 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 準備創(chuàng)建bean 100
5.5.1 處理override屬性 101
5.5.2 實例化的前置處理 102
5.6 循環(huán)依賴 104
5.6.1 什么是循環(huán)依賴 104
5.6.2 Spring如何解決循環(huán)依賴 104
5.7 創(chuàng)建bean 108
5.7.1 創(chuàng)建bean的實例 111
5.7.2 記錄創(chuàng)建bean的ObjectFactory 120
5.7.3 屬性注入 123
5.7.4 初始化bean 132
5.7.5 注冊DisposableBean 136
第6章 容器的功能擴展 137
6.1 設(shè)置配置路徑 138
6.2 擴展功能 138
6.3 環(huán)境準備 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 設(shè)置忽略依賴 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 注冊監(jiān)聽器 169
6.7 初始化非延遲加載單例 169
6.8 finishRefresh 172
第7章 AOP 175
7.1 動態(tài)AOP使用示例 175
7.2 動態(tài)AOP自定義標簽 177
7.3 創(chuàng)建AOP代理 181
7.3.1 獲取增強器 184
7.3.2 尋找匹配的增強器 193
7.3.3 創(chuàng)建代理 195
7.4 靜態(tài)AOP使用示例 209
7.5 創(chuàng)建AOP靜態(tài)代理 211
7.5.1 Instrumentation使用 211
7.5.2 自定義標簽 215
7.5.3 織入 217
第 2部分 企業(yè)應(yīng)用
第8章 數(shù)據(jù)庫連接JDBC 222
8.1 Spring連接數(shù)據(jù)庫程序?qū)崿F(xiàn)(JDBC) 223
8.2 save/update功能的實現(xiàn) 225
8.2.1 基礎(chǔ)方法execute 227
8.2.2 Update中的回調(diào)函數(shù) 231
8.3 query功能的實現(xiàn) 233
8.4 queryForObject 237
第9章 整合MyBatis 239
9.1 MyBatis獨立使用 239
9.2 Spring整合MyBatis 243
9.3 源碼分析 245
9.3.1 sqlSessionFactory創(chuàng)建 245
9.3.2 MapperFactoryBean的創(chuàng)建 249
9.3.3 MapperScannerConfigurer 252
第 10章 事務(wù) 262
10.1 JDBC方式下的事務(wù)使用示例 262
10.2 事務(wù)自定義標簽 265
10.2.1 注冊InfrastructureAdvisorAutoProxyCreator 265
10.2.2 獲取對應(yīng)class/method的增強器 269
10.3 事務(wù)增強器 276
10.3.1 創(chuàng)建事務(wù) 279
10.3.2 回滾處理 289
10.3.3 事務(wù)提交 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 根據(jù)request信息尋找對應(yīng)的Handler 333
11.4.3 沒找到對應(yīng)的Handler的錯誤處理 337
11.4.4 根據(jù)當前Handler尋找對應(yīng)的HandlerAdapter 338
11.4.5 緩存處理 338
11.4.6 HandlerInterceptor的處理 339
11.4.7 邏輯處理 340
11.4.8 異常視圖的處理 341
11.4.9 根據(jù)視圖跳轉(zhuǎn)頁面 341
第 12章 遠程服務(wù) 347
12.1 RMI 347
12.1.1 使用示例 347
12.1.2 服務(wù)端實現(xiàn) 349
12.1.3 客戶端實現(xiàn) 357
12.2 HttpInvoker 362
12.2.1 使用示例 362
12.2.2 服務(wù)端實現(xiàn) 364
12.2.3 客戶端實現(xiàn) 368
第 13章 Spring消息 374
13.1 JMS的獨立使用 374
13.2 Spring整合ActiveMQ 376
13.3 源碼分析 378
13.3.1 JmsTemplate 379
13.3.2 監(jiān)聽器容器 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創(chuàng)建 401
14.3.2 bean的加載 402
14.3.3 Spring擴展屬性的加載 403
14.3.4 總結(jié) 403
14.4 Starter自動化配置原理 403
14.4.1 spring.factories的加載 404
14.4.2 factories調(diào)用時序圖 405
14.4.3 配置類的解析 407
14.4.4 Componentscan的切入點 410
14.5 Conditional機制實現(xiàn) 413
14.5.1 Conditional使用 413
14.5.2 Conditional原理 415
14.5.3 調(diào)用切入點 418
14.6 屬性自動化配置實現(xiàn) 420
14.6.1 示例 420
14.6.2 原理 422
14.7 Tomcat啟動 428

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號