注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信互聯(lián)網(wǎng)輕量級SSM框架解密:Spring、Spring MVC、MyBatis源碼深度剖析

互聯(lián)網(wǎng)輕量級SSM框架解密:Spring、Spring MVC、MyBatis源碼深度剖析

互聯(lián)網(wǎng)輕量級SSM框架解密:Spring、Spring MVC、MyBatis源碼深度剖析

定 價:¥109.00

作 者: 李艷鵬 等 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

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

內(nèi)容簡介

  SSM 是Spring、Spring MVC 和MyBatis 框架的組合,是目前Java 領(lǐng)域使用非常廣泛也非常穩(wěn)定的開源Web 框架?!痘ヂ?lián)網(wǎng)輕量級SSM框架解密:Spring、Spring MVC、MyBatis源碼深度剖析》以SSM 的核心代碼剖析為基礎(chǔ),突破Java Web 研發(fā)瓶頸的束縛,選取Spring、SpringMVC 和MyBatis 框架中易于理解的版本,深入剖析了其中各個模塊的實現(xiàn),從代碼中挖掘常用的設(shè)計模式,為讀者理解Spring 系列框架的可擴展設(shè)計藝術(shù)提供了方法論和優(yōu)秀實踐。 《互聯(lián)網(wǎng)輕量級SSM框架解密:Spring、Spring MVC、MyBatis源碼深度剖析》Spring 源碼剖析篇基于Spring 4.3.2 版本,剖析了Spring 上下文、Spring AOP 和Spring 事務(wù)的實現(xiàn),并通過實例展示了框架陷阱的隱蔽性及學習框架原理的必要性。Spring MVC 源碼剖析篇基于SpringMVC 3.0 版本,這個版本比較簡單、核心清晰,便于讀者理解透徹,這里主要講解其中的設(shè)計模式及可插拔的設(shè)計思路。MyBatis 源碼剖析篇基于MyBatis 3.4 版本,幫助讀者對SQL 語言、JDBC 及數(shù)據(jù)訪問方式有更深入的了解,也能看到工廠、Builder、代理、裝飾者等設(shè)計模式在MyBatis 中的大量應用。 《互聯(lián)網(wǎng)輕量級SSM框架解密:Spring、Spring MVC、MyBatis源碼深度剖析》對于互聯(lián)網(wǎng)從業(yè)者,或者傳統(tǒng)行業(yè)的IT 工程師、架構(gòu)師、技術(shù)經(jīng)理、技術(shù)總監(jiān),以及想深耕IT行業(yè)的技術(shù)人員都有很強的借鑒性和實用價值。

作者簡介

  李艷鵬,高級技術(shù)專家,著有《分布式服務(wù)架構(gòu):原理、設(shè)計與實戰(zhàn)》和《可伸縮服務(wù)架構(gòu):框架與中間件》,是“云時代架構(gòu)”技術(shù)社區(qū)的發(fā)起者,曾經(jīng)在易寶支付、花旗銀行、甲骨文、路透社、新浪微博等大型機構(gòu)中擔任技術(shù)負責人和首席架構(gòu)師,曾專注于大規(guī)模高并發(fā)的線上和線下支付平臺的應用架構(gòu)和技術(shù)架構(gòu)的規(guī)劃與落地,負責交易、支付、渠道、出款、風控、對賬等核心支付系統(tǒng)的設(shè)計與實現(xiàn),在移動支付、聚合支付、合規(guī)賬戶、掃碼支付、標記化支付等業(yè)務(wù)場景上有產(chǎn)品應用架構(gòu)規(guī)劃與落地的實踐經(jīng)驗,現(xiàn)聚焦于區(qū)塊鏈創(chuàng)新應用技術(shù)的研發(fā)領(lǐng)域。 曲源,資深Java開發(fā)者,曾任美圖技術(shù)經(jīng)理、易寶支付交易系統(tǒng)技術(shù)負責人、當網(wǎng)Java工程師。在電商、支付公司從業(yè)近10年,熟悉 相關(guān)領(lǐng)域的架構(gòu)規(guī)劃和系統(tǒng)研發(fā)。 宋楊,愛奇藝技術(shù)產(chǎn)品中心架構(gòu)師,從事互聯(lián)網(wǎng)支付行業(yè)一線開發(fā)、架構(gòu)等工作,熟悉互聯(lián)網(wǎng)通用技術(shù)棧。

圖書目錄

第1篇 深入剖析Spring源碼
第1章 Spring基礎(chǔ)介紹 2
1.1 Spring的核心結(jié)構(gòu) 2
1.2 Spring的領(lǐng)域模型 6
第2章 Spring上下文和容器 7
2.1 Spring上下文的設(shè)計 7
2.2 Spring容器BeanFactory的設(shè)計 11
2.3 Spring父子上下文與容器 13
第3章 Spring加載機制的設(shè)計與實現(xiàn) 18
3.1 Spring ApplicationContext的加載及源碼實現(xiàn) 18
3.2 Spring XML文件標簽加載解析及自定義 27
3.3 Spring注解的加載及自動注入 31
第4章 Spring Bean探秘 45
4.1 Spring Bean的定義和注冊設(shè)計 45
4.2 Spring Bean的定義模型 47
4.3 Spring Bean的運行(獲取、創(chuàng)建)實現(xiàn) 48
4.4 Spring Bean的依賴注入的實現(xiàn) 59
4.5 Spring Bean的初始化 70
第5章 Spring代理與AOP 74
5.1 Spring代理的設(shè)計及JDK、CGLIB動態(tài)代理 75
5.2 Spring AOP的設(shè)計 82
5.3 Spring AOP的加載和執(zhí)行機制 83
5.3.1 Spring AOP的加載及源碼解析 83
5.3.2 Spring AOP的創(chuàng)建執(zhí)行及源碼解析 88
5.4 Spring事務(wù)管理設(shè)計及源碼 101
5.5 Spring事務(wù)傳播機制 115
第6章 Spring實戰(zhàn) 118
6.1 對Spring重復AOP問題的分析 118
6.2 Spring Bean循環(huán)依賴的問題 125
第2篇 深入剖析Spring MVC源碼
第7章 MVC簡介 138
7.1 MVC的體系結(jié)構(gòu)和工作原理 138
7.1.1 控制器 139
7.1.2 視圖 139
7.1.3 模型 140
7.2 Web MVC的體系結(jié)構(gòu)和工作原理 140
第8章 Spring Web MVC工作流 142
8.1 組件及其接口 142
8.1.1 DispatcherServlet 143
8.1.2 處理器映射 143
8.1.3 處理器適配器 144
8.1.4 處理器與控制器 145
8.1.5 視圖解析器 145
8.1.6 視圖 146
8.2 組件間的協(xié)調(diào)通信 146
第9章 DispatcherServlet的實現(xiàn) 148
9.1 深入剖析GenericServlet和HttpServlet 150
9.1.1 HTTP和Servlet規(guī)范簡介 150
9.1.2 Servlet和GenericServlet詳解 152
9.1.3 HttpServlet詳解 152
9.2 深入剖析DispatcherServlet 159
9.2.1 HttpServletBean詳解 161
9.2.2 FrameworkServlet詳解 162
9.2.3 DispatchServlet詳解 166
9.3 根共享環(huán)境的加載 182
9.3.1 基于Servlet環(huán)境監(jiān)聽器的實現(xiàn)結(jié)構(gòu) 182
9.3.2 多級Spring環(huán)境的加載方式 189
第10章 基于簡單控制器的流程實現(xiàn) 194
10.1 通過Bean名稱URL處理器映射獲取處理器執(zhí)行鏈 194
10.1.1 抽象處理器映射 196
10.1.2 抽象URL處理器映射 199
10.1.3 抽象探測URL處理器映射 209
10.1.4 Bean名稱URL處理器映射 210
10.2 通過處理器適配器把請求轉(zhuǎn)接給處理器 211
10.2.1 簡單控制處理適配器的設(shè)計 211
10.2.2 表單控制器處理HTTP請求的流程 212
10.3 對控制器類體系結(jié)構(gòu)的深入剖析 214
10.3.1 Web內(nèi)容產(chǎn)生器 215
10.3.2 抽象控制器類 217
10.3.3 基本命令控制器 218
10.3.4 抽象表單控制器 222
10.3.5 簡單表單控制器 229
第11章 基于注解控制器的流程實現(xiàn) 230
11.1 默認注解處理器映射的實現(xiàn) 230
11.2 注解處理器適配器的架構(gòu)設(shè)計 237
11.3 深入剖析注解控制器的處理流程 238
11.3.1 解析處理器方法 241
11.3.2 解析處理器方法的參數(shù) 253
11.3.3 綁定、初始化領(lǐng)域模型和管理領(lǐng)域模型 272
11.3.4 調(diào)用處理器方法 278
11.3.5 處理方法返回值和隱式模型到模型或視圖的映射 281
11.3.6 如何更新模型數(shù)據(jù) 286
第12章 基于HTTP請求處理器實現(xiàn)RPC 288
12.1 深入剖析RPC客戶端的實現(xiàn) 289
12.2 深入剖析RPC服務(wù)端的實現(xiàn) 299
第13章 深入剖析處理器映射、處理器適配器及處理器的實現(xiàn) 311
13.1 處理器映射的實現(xiàn)架構(gòu) 311
13.1.1 處理器映射實現(xiàn)類 312
13.1.2 處理器映射抽象類 313
13.1.3 對處理器映射類的代碼剖析 315
13.2 處理器適配器的實現(xiàn)架構(gòu) 322
13.3 深入剖析處理器 325
13.3.1 簡單控制器 325
13.3.2 注解控制器 339
13.3.3 HTTP請求處理器 342
13.4 攔截器的實現(xiàn)架構(gòu) 344
第14章 視圖解析和視圖顯示 353
14.1 基于URL的視圖解析器和視圖 353
14.1.1 內(nèi)部資源視圖解析器和內(nèi)部資源視圖 365
14.1.2 瓦塊視圖解析器和瓦塊視圖 371
14.1.3 模板視圖解析器和模板視圖 373
14.1.4 XSLT視圖解析器和XSLT視圖 377
14.2 更多的視圖解析器 378
14.2.1 Bean名稱視圖解析器 378
14.2.2 內(nèi)容選擇視圖解析器 379
14.2.3 資源綁定視圖解析器 383
14.2.4 XML視圖解析器 385
第3篇 深入剖析MyBatis源碼
第15章 MyBatis介紹 388
15.1 MyBatis的歷史 388
15.2 MyBatis子項目 389
15.3 MyBatis的自身定位 389
15.3.1 JPA持久化框架 390
15.3.2 MyBatis的功能 390
15.3.3 MyBatis與JPA的異同 390
15.4 MyBatis的架構(gòu) 391
15.4.1 模塊 391
15.4.2 MyBatis的項目包 392
第16章 構(gòu)建階段 394
16.1 關(guān)鍵類 394
16.2 關(guān)鍵時序 395
16.3 構(gòu)建的入口:SqlSessionFactoryBuilder和SqlSessionFactory 396
16.4 配置(Configuration)和配置構(gòu)造器(XmlConfigBuilder) 397
16.4.1 XmlConfigBuilder的初始化 397
16.4.2 完整的mybatis-3-config.dtd 399
16.4.3 解析配置文件構(gòu)建Configuration配置 399
16.5 SQL簡介 418
16.6 SQL映射的構(gòu)建 419
16.6.1 通過XML定義的SQL Mapper 419
16.6.2 Configuration類中與SQL Mapping相關(guān)的類 420
16.6.3 XmlMapperBuilder是如何工作的 421
16.6.4 映射注解器定義的SQL Mapper 438
16.6.5 小結(jié) 440
第17章 執(zhí)行階段 441
17.1 關(guān)鍵類 441
17.2 關(guān)鍵接口及默認實現(xiàn)初始化 442
17.2.1 SqlSession及其關(guān)聯(lián)類的構(gòu)建過程 442
17.2.2 StatementHandler語句處理器 446
17.3 DQL語句是如何執(zhí)行的 448
17.3.1 查詢接口 448
17.3.2 關(guān)鍵時序 449
17.3.3 程序執(zhí)行查詢的入口:DefaultSqlSession#selectList(statement) 450
17.3.4 生成執(zhí)行語句:getMappedStatement() 450
17.3.5 執(zhí)行器查詢:Executor#query() 451
17.3.6 JDBC執(zhí)行語句:SimpleStatementHandler#query() 455
17.3.7 結(jié)果集處理:DefaultResultSetHandler#handlerResultSets() 455
17.4 DML語句是如何執(zhí)行的 460
17.4.1 操作接口 460
17.4.2 關(guān)鍵時序 460
17.4.3 程序執(zhí)行更新的入口:DefaultSqlSession#update() 461
17.4.4 執(zhí)行器執(zhí)行方法:Executor#update() 461
17.4.5 SQL語句執(zhí)行:SimpleStatementHandler#update() 464
17.4.6 結(jié)果集主鍵邏輯:Jdbc3KeyGenerator#processAfter() 464
17.5 小結(jié) 466
第18章 專題特性解析 467
18.1 動態(tài)SQL支持 467
18.1.1 XmlScriptBuilder解析配置 467
18.1.2 NodeHandler構(gòu)建SqlNode樹 468
18.1.3 SqlNode處理SQL語句 471
18.2 MyBatis的緩存支持 477
18.2.1 本地緩存 478
18.2.2 二級緩存 482
18.3 結(jié)果集支持:Object、List、Map和Cursor 491
18.4 自定義擴展點及接口 496
第19章 作為中間件如何承上啟下 498
19.1 MyBatis與底層的JDBC 498
19.1.1 java.sql.DataSource 498
19.1.2 java.sql.Connection 499
19.1.3 java.sql.Statement 500
19.1.4 java.sql.Resultset 502
19.2 MyBatis的主流集成方式 502
19.2.1 mybatis-spring簡介 502
19.2.2 Spring對JDBC的支持 502
19.2.3 mybatis-spring與Spring 504

本目錄推薦

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