本書分為三大部分和兩個(gè)附錄,每一部分專注于Spring框架的一個(gè)領(lǐng)域:核心層、中間層和Web層。第一部分展示了Spring框架的兩個(gè)核心概念:反向控制(Inverstion of Control,IoC)和面向切面編程(Aspect-Oriented Programming,AOP),以便讀者理解Spring的基礎(chǔ)原理,這些基礎(chǔ)原理在本書各個(gè)章節(jié)都會(huì)用到。第二部分在第1章介紹的IoC和AOP基礎(chǔ)之上,展示了如何將這兩個(gè)概念應(yīng)用到應(yīng)用系統(tǒng)的中間層。第三部分走出中間層邁向顯示層,在很多J2EE系統(tǒng)中顯示層被稱為Web層。附錄A介紹如何開始自己的Spring應(yīng)用系統(tǒng),如何下載Spring以及如何編寫Ant配置文件。附錄B介紹一些與Spring有關(guān)的其他開源框架。本書的每一部分既是建立在前一部分的基礎(chǔ)上,同時(shí)也都是獨(dú)立存在的,所以,讀者不必從頭開始就可以深入到各個(gè)主題。
本書適合所有Java開發(fā)人員,特別是對(duì)企業(yè)級(jí)Java開發(fā)人員更有幫助。本書將循序漸進(jìn)地指導(dǎo)讀者瀏覽貫穿本書的復(fù)雜示例。Spring最突出之處在于它使企業(yè)級(jí)系統(tǒng)開發(fā)變得簡(jiǎn)單,所以,企業(yè)級(jí)系統(tǒng)開發(fā)人員會(huì)更加欣賞本書中的示例代碼。本書最后4章描述了Spring是如何為Web層開發(fā)提供支持的,如果你是一位Web開發(fā)人員,你會(huì)發(fā)現(xiàn)本書的最后一部分特別有用。
spring in action 第三版 中文版目錄
第一部分 Spring基礎(chǔ)
第1章 開始Spring之旅
1.1 為什么使用Spring
1.1.1 J2EE開發(fā)者的一天
1.1.2 Spring的承諾
1.2 Spring是什么
1.3 開始Spring之旅
1.4 理解反向控制
1.4.1 依賴注入
1.4.2 IoC應(yīng)用
1.4.3 企業(yè)級(jí)應(yīng)用中的IoC
1.5 應(yīng)用AOP
1.5.1 AOP介紹
1.5.2 AOP使用
1.5.3 企業(yè)級(jí)應(yīng)用中的AOP
1.6 Spring比較
1.6.1 比較Spring和EJB
1.6.2 關(guān)于其他輕量級(jí)容器
1.6.3 Web框架
1.6.4 持久層框架
1.7 小結(jié)
第2章 裝配Bean
2.1 容納你的Bean
2.1.1 BeanFactory介紹
2.1.2 使用應(yīng)用上下文
2.1.3 Bean的生命
2.2 基本裝配
2.2.1 使用XML裝配
2.2.2 添加一個(gè)Bean
2.2.3 通過Set方法注入依賴
2.2.4 通過構(gòu)造函數(shù)注入依賴
2.3 自動(dòng)裝配
2.3.1 處理自動(dòng)裝配中的不確定性
2.3.2 混合使用自動(dòng)和手動(dòng)裝配
2.3.3 缺省自動(dòng)裝配
2.3.4 何時(shí)采用自動(dòng)裝配
2.4 使用Spring的特殊Bean
2.4.1 對(duì)Bean進(jìn)行后處理
2.4.2 對(duì)Bean工廠進(jìn)行后處理
2.4.3 分散配置
2.4.4 定制屬性編輯器
2.4.5 解析文本信息
2.4.6 監(jiān)聽事件
2.4.7 發(fā)布事件
2.4.8 感知其他Bean
2.5 小結(jié)
第3章 創(chuàng)建切面
3.1 AOP介紹
3.1.1 定義AOP術(shù)語
3.1.2 Spring的AOP實(shí)現(xiàn)
3.2 創(chuàng)建通知
3.2.1 前置通知
3.2.2 后置通知
3.2.3 環(huán)繞通知
3.2.4 異常通知
3.2.5 引入通知
3.3 定義切入點(diǎn)
3.3.1 在Spring中定義切入點(diǎn)
3.3.2 理解Advisor
3.3.3 使用Spring的靜態(tài)切入點(diǎn)
3.3.4 使用動(dòng)態(tài)切入點(diǎn)
3.3.5 切入點(diǎn)實(shí)施
3.4 創(chuàng)建引入
3.4.1 實(shí)現(xiàn)IntroductionInterceptor
3.4.2 創(chuàng)建一個(gè)引入Advisor
3.4.3 謹(jǐn)慎使用引入通知
3.5 使用ProxyFactoryBean
3.6 自動(dòng)代理
3.6.1 BeanNameAutoProxyCreator
3.6.2 DefaultAdvisorAutoProxyCreator
3.6.3 元數(shù)據(jù)自動(dòng)代理
3.7 小結(jié)
第二部分 Spring在業(yè)務(wù)層的應(yīng)用
第4章 征服數(shù)據(jù)庫(kù)
4.1 學(xué)習(xí)Spring的DAO理念
4.1.1 理解Spring的DataAccessException
4.1.2 與DataSource一起工作
4.1.3 一致的DAO支持
4.2 在Spring中使用JDBC
4.2.1 JDBC代碼的問題
4.2.2 使用JdbcTemplate
4.2.3 把操作創(chuàng)建成對(duì)象
4.2.4 自增鍵
4.3 介紹Spring的ORM框架支持
4.4 用Spring整合Hibernate
4.4.1 Hibernate概覽
4.4.2 管理Hibernate資源
4.4.3 用HibernateTemplate訪問Hibernate
4.4.4 HibernateDaoSupport的子類
4.5 Spring和JDO
4.5.1 配置JDO
4.5.2 用JdoTemplate訪問數(shù)據(jù)庫(kù)
4.6 Spring和iBATIS
4.6.1 配置SQL Map
4.6.2 使用SqlMapClientTemplate
4.7 Spring和OJB
4.8 小結(jié)
第5章 事務(wù)管理
5.1 理解事務(wù)
5.1.1 僅用4個(gè)詞解釋事務(wù)
5.1.2 理解Spring對(duì)事務(wù)管理的支持
5.1.3 介紹Spring的事務(wù)管理器
5.2 在Spring中編寫事務(wù)
5.3 聲明式事務(wù)
5.3.1 理解事務(wù)屬性
5.3.2 聲明一個(gè)簡(jiǎn)單的事務(wù)策略
5.4 通過方法名聲明事務(wù)
5.4.1 使用NameMatchTransactionAttributeSource
5.4.2 名稱匹配事務(wù)的捷徑
5.5 用元數(shù)據(jù)聲明事務(wù)
5.5.1 用元數(shù)據(jù)來書寫事務(wù)屬性
5.5.2 用Commons Attributes聲明事務(wù)
5.6 修剪事務(wù)聲明
5.6.1 從父TransactionProxyFactoryBean繼承
5.6.2 自動(dòng)代理事務(wù)
5.7 小結(jié)
第6章 遠(yuǎn)程調(diào)用
6.1 Spring遠(yuǎn)程調(diào)用概覽
6.2 與RMI一起工作
6.2.1 連接RMI服務(wù)
6.2.2 輸出RMI服務(wù)
6.3 使用Hessian和Burlap的遠(yuǎn)程調(diào)用
6.3.1 訪問Hessian/Burlap服務(wù)
6.3.2 用Hessian或Burlap公開Bean的功能
6.4 使用HTTP invoker
6.4.1 通過HTTP訪問服務(wù)
6.4.2 把Bean作為HTTP服務(wù)公開
6.5 使用EJB
6.5.1 訪問EJB
6.5.2 用Spring開發(fā)EJB
6.6 使用JAX-RPC的Web Service
6.6.1 用JAX-RPC應(yīng)用一個(gè)Web Service
6.6.2 在Spring里置入一個(gè)Web Service
6.7 小結(jié)
第7章 訪問企業(yè)服務(wù)
7.1 從JNDI中獲取對(duì)象
7.1.1 使用傳統(tǒng)的JNDI
7.1.2 代理JNDI對(duì)象
7.2 發(fā)送電子郵件
7.3 調(diào)度任務(wù)
7.3.1 使用Java Timer調(diào)度任務(wù)
7.3.2 使用Quartz調(diào)度器
7.3.3 按調(diào)度計(jì)劃調(diào)用方法
7.4 使用JMS發(fā)送消息
7.4.1 使用JMS模板發(fā)送消息
7.4.2 消費(fèi)消息
7.4.3 轉(zhuǎn)換消息
7.5 小結(jié)
第三部分 Spring在Web層的應(yīng)用
第8章 建立Web層
8.1 開始Spring MVC之旅
8.1.1 請(qǐng)求生命中的一天
8.1.2 配置DispatcherServlet
8.1.3 Spring MVC概述
8.2 將請(qǐng)求映射到控制器
8.2.1 將URL映射到Bean名稱
8.2.2 使用SimpleUrlHandlerMapping
8.2.3 使用元數(shù)據(jù)映射控制器
8.2.4 使用多映射處理器
8.3 用控制器處理請(qǐng)求
8.3.1 編寫一個(gè)簡(jiǎn)單的控制器
8.3.2 處理命令
8.3.3 處理表單提交
8.3.4 用向?qū)幚韽?fù)雜表單
8.3.5 在一個(gè)控制器中處理多個(gè)動(dòng)作
8.3.6 使用一次性控制器
8.4 視圖解析
8.4.1 使用模板視圖
8.4.2 解析視圖Bean
8.4.3 選擇視圖解析器
8.5 使用Spring的綁定標(biāo)簽
8.6 處理異常
8.7 小結(jié)
第9章 其他視圖技術(shù)
9.1 使用Velocity模板
9.1.1 定義Velocity視圖
9.1.2 配置Velocity引擎
9.1.3 解析Velocity視圖
9.1.4 格式化日期和數(shù)字
9.1.5 暴露請(qǐng)求和會(huì)話屬性
9.1.6 在Velocity中綁定表單域
9.2 使用FreeMarker
9.2.1 構(gòu)造一個(gè)FreeMarker視圖
9.2.2 配置FreeMarker引擎
9.2.3 解析FreeMarker視圖
9.2.4 在FreeMarker中綁定表單域
9.3 使用Tile設(shè)計(jì)頁面布局
9.3.1 Tile視圖
9.3.2 Tile控制器
9.4 產(chǎn)生非HTML輸出
9.4.1 產(chǎn)生Excel工作表
9.4.2 產(chǎn)生PDF文檔
9.4.3 產(chǎn)生其他非HTML文件
9.5 小結(jié)
第10章 使用其他Web框架
10.1 使用Jakarta Struts
10.1.1 注冊(cè)Spring插件
10.1.2 實(shí)現(xiàn)知曉Spring的Struts action
10.1.3 委托action
10.2 使用Tapestry
10.2.1 替換Tapestry引擎
10.2.2 裝載Spring Bean至Tapestry頁面中
10.3 集成JavaServer Faces
10.3.1 解析變量
10.3.2 發(fā)布請(qǐng)求已處理事件
10.4 集成WebWork
10.4.1 WebWork1
10.4.2 XWork/WebWork2
10.5 小結(jié)
第11章 保護(hù)Spring 應(yīng)用程序
11.1 Acegi安全系統(tǒng)介紹
11.1.1 安全攔截器
11.1.2 認(rèn)證管理器
11.1.3 訪問決策管理器
11.1.4 運(yùn)行身份管理器
11.2 管理身份驗(yàn)證
11.2.1 配置ProviderManager
11.2.2 根據(jù)數(shù)據(jù)庫(kù)驗(yàn)證身份
11.2.3 根據(jù)LDAP倉(cāng)庫(kù)進(jìn)行身份驗(yàn)證
11.2.4 基于Acegi和Yale CAS實(shí)現(xiàn)單次登錄
11.3 控制訪問
11.3.1 訪問決策投票
11.3.2 決定如何投票
11.3.3 處理投票棄權(quán)
11.4 保護(hù)Web應(yīng)用程序
11.4.1 代理Acegi的過濾器
11.4.2 強(qiáng)制Web安全性
11.4.3 處理登錄
11.4.4 設(shè)置一個(gè)安全上下文
11.4.5 確保通道安全性
11.4.6 使用Acegi的標(biāo)簽庫(kù)
11.5 保護(hù)方法調(diào)用
11.5.1 創(chuàng)建一個(gè)安全切面
11.5.2 使用元數(shù)據(jù)保護(hù)方法
11.6 小結(jié)
附錄A 裝配Spri
A.1 下載Spring
A.2 選擇一種JAR文件
A.3 搭建你的項(xiàng)目
A.4 利用Ant創(chuàng)建
附錄B Spring相關(guān)項(xiàng)目
B.1 AppFuse
B.2 Rich Client Project
B.3 Spring.NET
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版