書訊:《Spring技術內幕——深入解析Spring架構與設計原理》

hzbooks發表於2010-03-19

Spring技術內幕——深入解析Spring架構與設計原理

 

 

 

作者:計文柯
ISBN:9787111288060
叢書名:揭祕系列叢書
出版社:機械工業出版社
出版日期:2010 年1月
開本:16
頁碼:300
版次:1-1
定價:55元
豆瓣網討論地址:http://www.douban.com/subject/4199483/
China-pub預訂地址:http://www.china-pub.com/196261

 

 

圖 書 內 容

 

本書是Spring領域的問鼎之作,由業界擁有10餘年開發經驗的資深Java專家親自執筆!Java開發者社群和Spring開發者社群一致強烈推薦。

 

國內第一本基於Spring 3.0的著作,從原始碼的角度對Spring的核心和各個主要功能模組的架構、設計和實現原理進行了深入剖析。你不僅能從本書中參透Spring框架的優秀架構和設計思想,而且還能從Spring優雅的實現原始碼中一窺Java語言的精髓。此外,本書還展示了閱讀原始碼的卓越方法,不僅授你以魚,而且還授你以漁!

 

如果你以一種淡定的心態翻開這本書,無論你是Java程式設計師、Spring開發者,還是平臺開發人員、系統架構師,抑或是對開源軟體原始碼著迷的程式碼狂人,都能從本書中受益。

 

書 贊 譽

 

作為一個有近10年曆史的成功框架,Spring在Java開發中具有舉足輕重的作用。本書從原始碼分析入手,對Spring的架構原理和設計思想進行了全面剖析,不僅能讓我們更深入、更徹底地認識Spring,領略Spring的架構之美和設計之美,而且更重要的是,它將全面提升我們的Spring開發技能。
    ——Spring開發者社群


這是值得所有Spring開發者反覆研讀的一本書。Spring是一個優秀的輕量級企業應用開發框架,是Java開發中最流行的工具之一,也是Java程式設計師必須熟練掌握的一門技術之一。本書從Spring實現原理的角度揭開了Spring的神祕面紗,使得我們在利用Spring進行開發時,不僅能知其然,還能知其所以然,從本質上提升我們對Spring的理解和開發水平。
    ——Spring中文使用者組


這是所有Java程式設計師應該認真閱讀的一本書。Spring框架主要是用Java語言來實現的,本書對大量經典的、優雅的Spring實現程式碼進行了賞析,不禁讓我們感慨Rod Johnson(Spring之父)對Java語言的運用之精妙。如果能跟隨本書穿越Spring原始碼的叢林,也許我們對Java語言的理解和掌握將會有質的飛躍。
    ——中文Java技術網


這是所有軟體架構師必備的一本書。成為一名出色的軟體架構師,也許是每一位開發者的夢想。在成長為架構師的過程中,在實踐中積累並總結經驗固然很重要,但是從現有的成功架構中取經也是必不可少的。本書對Spring的各個功能模組的架構原理和設計思想進行了深入剖析,值得所有架構師用心體會和研究,必將受益匪淺。
    ——架構師中國

  

目   錄

 

本書讚譽
前    言
致    謝

第1章  準備原始碼環境    1
1.1  安裝JDK    1
1.2  安裝Eclipse    1
1.3  安裝輔助工具    2
1.4  獲取Spring原始碼    8
1.5  Spring原始碼的組織結構    10
1.6  小結    12


第一部分  Spring核心實現篇
第2章  Spring Framework的核心:IoC容器的實現    16
2.1  Spring IoC容器概述    16
  2.1.1  IoC容器和依賴反轉模式    16
  2.1.2  Spring的IoC容器系列    18
2.2  IoC容器系列的實現:BeanFactory和ApplicationContext    20
  2.2.1  BeanFactory對IoC容器的功能定義    20
  2.2.2  IoC容器XmlBeanFactory的工作原理    22
  2.2.3  ApplicationContext的特點    24
2.3  IoC容器的初始化    25
  2.3.1  BeanDefinition的Resource定位    26
  2.3.2  BeanDefinition的載入和解析    33
  2.3.3  BeanDefinition在IoC容器中的註冊    47
2.4  IoC容器的依賴注入    49
2.5  容器其他相關特性的實現    70
  2.5.1  lazy-init屬性和預例項化    70
  2.5.2  FactoryBean的實現    73
  2.5.3  BeanPostProcessor的實現    75
  2.5.4  autowiring的實現原理    78
2.6  小結    80


第3章  Spring AOP的實現    82
3.1  Spring AOP概述    82
  3.1.1  AOP概念回顧    82
  3.1.2  Advice通知    84
  3.1.3  Pointcut切點    88
  3.1.4  Advisor通知器    90
3.2  建立AopProxy代理物件    92
  3.2.1  配置ProxyFactoryBean    92
  3.2.2  ProxyFactoryBean生成AopProxy    94
  3.2.3  JDK生成AopProxy代理物件    98
  3.2.4  CGLIB生成AopProxy代理物件    99
3.3  Spring AOP攔截器呼叫的實現    101
  3.3.1  JdkDynamicAopProxy的invoke攔截    101
  3.3.2  Cglib2AopProxy的intercept攔截    103
  3.3.3  目標物件方法的呼叫    105
  3.3.4  AOP攔截器鏈的呼叫    105
  3.3.5  配置通知器    107
  3.3.6  Advice通知的實現    112
  3.3.7  ProxyFactory實現AOP    118
3.4  Spring AOP的高階特性    120
3.5  小結    121


第二部分  Spring元件實現篇
第4章  Spring MVC與Web環境    127
4.1  概述    127
4.2  Web環境中的Spring MVC    128
4.3  IoC容器在Spring MVC中的啟動    130
  4.3.1  Web容器中的上下文    130
  4.3.2  ContextLoader建立Web環境的根上下文    132
4.4  Spring Web MVC的啟動    136
  4.4.1  DispacherServlet概述    136
  4.4.2  DispacherServlet的啟動和初始化    137
4.5  Spring MVC的實現    141
  4.5.1  DispatcherSevlet的MVC初始化    141
  4.5.2  HandlerMapping的配置    143
  4.5.3  使用HandlerMapping完成請求的對映處理    148
  4.5.4  Spring MVC對HTTP請求的分發處理    150
4.6  Spring MVC檢視的呈現    155
  4.6.1  DispatcherServlet檢視呈現概述    155
  4.6.2  JSP檢視的實現    157
  4.6.3  ExcelView的實現    160
  4.6.4  PDF檢視的實現    163
4.7  小結    165


第5章  資料庫操作元件的實現    167
5.1  Spring JDBC和Spring ORM概述    167
5.2  Spring JDBC模板類的實現    167
  5.2.1  JdbcTeamplate的基本使用    167
  5.2.2  JdbcTemplate的execute實現    168
  5.2.3  JdbcTemplate的query實現    170
  5.2.4  使用資料庫Connection    171
5.3  Spring JDBC中RDBMS操作物件的實現    172
  5.3.1  SqlQuery的實現    173
  5.3.2  SqlUpdate的實現    177
  5.3.3  SqlFunction    178
5.4  Spring驅動Hibernate的實現    179
  5.4.1  配置Hibernate的SessionFactory    180
  5.4.2  HibernateTemplate的實現    185
  5.4.3  Session的管理    187
5.5  Spring驅動iBatis的實現    190
  5.5.1  建立SqlMapClient    190
  5.5.2  SqlMapClientTemplate的實現    192
5.6  小結    194


第6章  Spring事務處理的實現    196
6.1  Spring與事務處理    196
6.2  宣告式事務處理的基本過程    196
  6.2.1  事務處理攔截器的配置    197
  6.2.2  事務處理配置的讀入    200
6.3  事務處理攔截器的實現    203
6.4  事務處理的實現    206
  6.4.1  事務處理的程式設計式使用    206
  6.4.2  事務的建立    207
  6.4.3  事務的掛起    214
  6.4.4  事務的提交    215
  6.4.5  事務的回滾    218
6.5  具體事務處理器的實現    219
  6.5.1  DataSourceTransactionManager的實現    219
  6.5.2  HibernateTransactionManager的實現    222
6.6  小結    227


第7章  Spring遠端呼叫的實現    230
7.1  Spring遠端呼叫概述    230
7.2  Spring HTTP 呼叫器的實現原理    232
  7.2.1  配置HTTP呼叫器客戶端    232
  7.2.2  HTTP呼叫器客戶端的實現    232
  7.2.3  配置HTTP呼叫器遠端伺服器端    237
  7.2.4  HTTP呼叫器伺服器端的實現    237
7.3  Spring Hession/Burlap的實現       原理    241
  7.3.1  Hessian/Burlap客戶端的配置    241
  7.3.2  Hessian客戶端的實現    242
  7.3.3  Burlap客戶端的實現    244
  7.3.4  Hessian/Burlap伺服器端的配置    247
  7.3.5  Hessian伺服器端的實現    247
  7.3.6  Burlap伺服器端的實現    250
7.4  Spring RMI的實現    252
  7.4.1  Spring RMI客戶端的配置    252
  7.4.2  Spring RMI客戶端的實現    253
  7.4.3  Spring RMI伺服器端的配置    256
  7.4.4  Spring RMI伺服器端的實現    257
7.5  小結    259


第8章  安全框架ACEGI的實現    260
8.1  Spring ACEGI安全框架概述    260
  8.1.1  概述    260
  8.1.2  使用Spring IDE    261
  8.1.3  ACEGI的Bean配置    263
8.2  配置Spring ACEGI    264
8.3  ACEGI的Web過濾器實現    267
8.4  ACEGI驗證器的實現    269
  8.4.1  AuthenticationManager的authenticate    269
  8.4.2  DaoAuthenticationProvider的實現    271
  8.4.3  讀取資料庫使用者資訊    273
  8.4.4  完成使用者資訊的對比驗證    276
8.5  ACEGI授權器的實現    277
  8.5.1  與Web環境的介面FilterSecurityInterceptor    277
  8.5.2  授權器的實現    280
  8.5.3  投票器的實現    282
8.6  小結    283


第三部分  Spring應用篇
第9章  Spring petclinic應用例項    287
9.1  petclinic概述    287
9.2  部署環境及資料庫    289
9.3  petclinic的Bean配置    290
9.4  petclinic的Web頁面實現    291
9.5  petclinic的領域物件實現    293
9.6  petclinic資料庫操作的實現    294
  9.6.1  使用JDBC的資料庫操作    294
  9.6.2  使用Hibernate的資料庫操作    295
  9.6.3  使用JPA的資料庫操作    297
9.7  小結    298

 

相關文章