Spring in Action(中文版)

Spring in Action(中文版)
定價:354
NT $ 308
 

內容簡介

本書分成三大部分並附有兩個附錄,每一部分分別對應Spring框架的一個領域︰核心框架、業務和數據層、表示層。每一部分既是建立在前一部分的基礎上,同時也可以獨立存在。因此,讀者不必從頭開始,完全可以直接深入到某個主題。書中第一部分展示了Spring框架的兩個核心特性︰依賴注入和面向切面編程。第二部分以第一部分介紹的DI和AOP特性為基礎,敘述了如何將這兩個概念應用到應用程序的數據和業務層中。第三部分介紹了Spring構建Web應用程序的各種方式。

  本書適合所有Java開發人員閱讀,特別是對企業級Java開發人員更有幫助。本書循序漸進地指導讀者瀏覽貫穿本書的復雜示例。Spring最突出之處在于它使企業級系統開發變得簡單,所以,企業級系統開發人員會更加欣賞本書中的示例代碼。本書最後4章描述了Spring是如何為Web層開發提供支持的,如果你是一位Web開發人員,你會發現本書的最後一部分特別有用。
 

目錄

第一部分 Spring的核心
 第1章 開始Spring之旅
  1.1 Spring是什麼
  1.2 開始Spring之旅
  1.3 理解依賴注入
   1.3.1 依賴注入
   1.3.2 DI應用
   1.3.3 企業級應用中的依賴注入
  1.4 應用AOP
   1.4.1 AOP介紹
   1.4.2 AOP使用
  1.5 小結
 第2章 基本Bean裝配
  2.1 容納你的Bean
   2.1.1 BeanFactory介紹
   2.1.2 使用應用上下文
   2.1.3 Bean的生命
  2.2 創建Bean
   2.2.1 聲明一個簡單的Bean
   2.2.2 通過構造函數注入
  2.3 注入Bean屬性
   2.3.1 注入簡單的數值
   2.3.2 使用其他的Bean
   2.3.3 裝配集合
   2.3.4 裝配空值
2.4 自動裝配
   2.4.1 四種自動裝配類型
   2.4.2 混合使用自動和手動裝配
   2.4.3 何時采用自動裝配
2.5 控制Bean創建
   2.5.1 Bean範圍化
   2.5.2 利用工廠方法來創建Bean
   2.5.3 初始化和銷毀Bean
2.6 小結
 第3章 高級Bean裝配
  3.1 聲明父Bean和子Bean
   3.1.1 抽象基Bean類型
   3.1.2 抽象共同屬性
  3.2 方法注入
   3.2.1 基本的方法替換
   3.2.2 獲取器注入
  3.3 注入非Spring Bean
  3.4 注冊自定義屬性編輯器
  3.5 使用Spring的特殊Bean
   3.5.1 後處理Bean
   3.5.2 Bean工廠的後處理
   3.5.3 配置屬性的外在化
   3.5.4 提取文本消息
   3.5.5 程序事件的解耦
   3.5.6 讓Bean了解容器
  3.6 腳本化的Bean
   3.6.1 給椰子上Lime
   3.6.2 腳本化Bean
   3.6.3 注入腳本化Bean的屬性
   3.6.4 刷新腳本化Bean
   3.6.5 編寫內嵌的腳本化Bean
  3.7 小結
 第4章 通知Bean
  4.1 AOP簡介
   4.1.1 定義AOP術語
   4.1.2 Spring對AOP的支持
  4.2 創建典型的Spring切面
   4.2.1 創建通知
   4.2.2 定義切點和通知者
   4.2.3 使用ProxyFactoryBean
  4.3 自動代理
   4.3.1 為Spring切面創建自動代理
   4.3.2 自動代理@AspectJ切面
  4.4 定義純粹的POJO切面
  4.5 注入AspectJ切面
  4.6 小結
第二部分 企業Spring
 第5章 使用數據庫
  5.1 Spring的數據訪問哲學
   5.1.1 了解Spring數據訪問的異常體系
   5.1.2 數據訪問的模板化
   5.1.3 使用DAO支持類
  5.2 配置數據源
   5.2.1 使用JNDI數據源
   5.2.2 使用數據源連接池
   5.2.3 基于JDBC驅動的數據源
  5.3 在Spring里使用JDBC
   5.3.1 處理失控的JDBC代碼
   5.3.2 使用JDBC模板
   5.3.3 使用Spring對JDBC的DAO支持類
  5.4 在Spring里集成Hibernate
   5.4.1 選擇Hibernate的版本
   5.4.2 使用Hibernate模板
   5.4.3 建立基于Hibernate的DAO
   5.4.4 使用Hibernate 3上下文會話
  5.5 Spring和Java持久API
   5.5.1 使用JPA模板
   5.5.2 創建一個實體管理器工廠
   5.5.3 建立使用JPA的DAO
  5.6 Spring和iBATIS
   5.6.1 配置iBATIS客戶模板
   5.6.2 建立基于iBATIS的DAO
  5.7 緩存
   5.7.1 配置緩存方案
   5.7.2 緩存的代理Bean
   5.7.3 注解驅動的緩存
  5.8 小結
 第6章 事務管理
  6.1 理解事務
   6.1.1 僅用4個詞解釋事務
   6.1.2 理解Spring對事務管理的支持
  6.2 選擇事務管理器
   6.2.1 JDBC事務
   6.2.2 Hibernate事務
   6.2.3 JPA事務
   6.2.4 JDO事務
   6.2.5 JTA事務
  6.3 在Spring中編寫事務
  6.4 聲明式事務
   6.4.1 定義事務參數
   6.4.2 代理事務
   6.4.3 在Spring 2.0里聲明事務
   6.4.4 定義注釋驅動事務
  6.5 小結
 第7章 保護Spring
  7.1 Spring Security介紹
  7.2 驗證用戶身份
   7.2.1 配置Provider Manager
   7.2.2 根據數據庫驗證身份
   7.2.3 根據LDAP倉庫進行身份驗證
  7.3 控制訪問
   7.3.1 訪問決策投票
   7.3.2 決定如何投票
   7.3.3 處理投票棄權
  7.4 保護Web應用程序
   7.4.1 代理Spring Security的過濾器
   7.4.2 處理安全上下文
   7.4.3 提示用戶登錄
   7.4.4 處理安全例外
   7.4.5 強制Web安全性
   7.4.6 確保一個安全的通道
  7.5 視圖層安全
   7.5.1 有條件地渲染內容
   7.5.2 顯示用戶身份驗證信息
  7.6 保護方法調用
   7.6.1 創建一個安全切面
   7.6.2 使用元數據保護方法
  7.7 小結
 第8章 Spring和基于POJO的遠程服務
  8.1 Spring遠程調用概覽
  8.2 與RMI一起工作
   8.2.1 連接RMI服務
   8.2.2 輸出RMI服務
  8.3 使用Hessian和Burlap的遠程調用
   8.3.1 訪問Hessian/Burlap服務
   8.3.2 用Hessian或Burlap公開Bean的功能
  8.4 使用HTTP invoker
   8.4.1 通過HTTP訪問服務
   8.4.2 把Bean作為HTTP服務公開
  8.5 Spring和Web服務
   8.5.1 使用XFire將Bean輸出為Web服務
   8.5.2 使用JSR-181注釋聲明Web服務
   8.5.3 消費Web服務
   8.5.4 使用XFire客戶端代理Web服務
  8.6 小結
 第9章 在Spring中建立契約優先Web服務
  9.1 介紹Spring-WS
  9.2 定義契約(首先!)
  9.3 使用服務端點處理消息
   9.3.1 建立基于JDOM消息的端點
   9.3.2 序列化消息載荷
  9.4 合並在一起
   9.4.1 Spring-WS︰全景視圖
   9.4.2 將消息映射到端點
   9.4.3 置入服務端點
   9.4.4 配置消息序列化器
   9.4.5 處理端點異常
   9.4.6 提供WSDL文件
   9.4.7 部署服務
  9.5 消費Spring-WS Web服務
   9.5.1 使用Web服務模板
   9.5.2 使用Web服務的網關支持
  9.6 小結
 第10章 Spring消息
  10.1 JMS簡介
   10.1.1 構建JMS
   10.1.2 介紹JMS的優點
   10.1.3 在Spring中安裝ActiveMQ
  10.2 協同使用JMS和Spring
   10.2.1 處理冗長失控的JMS代碼
   10.2.2 使用JMS模板
   10.2.3 轉換消息
   10.2.4 將Spring的網關支持類應用于JMS
  10.3 創建消息驅動POJO
   10.3.1 創建消息監听器
   10.3.2 編寫純POJO MDP
  10.4 使用基于消息的RPC
   10.4.1 引入Lingo
   10.4.2 輸出服務
   10.4.3 代理JMS
  10.5 小結
 第11章 Spring和EJB
  11.1 在Spring中置入EJB
   11.1.1 代理會話Bean(EJB 2.x)
   11.1.2 將EJB置入Spring Bean
  11.2 開發Spring驅動的EJB(EJB 2.x)
  11.3 Spring和EJB3
   11.3.1 引入Pitchfork
   11.3.2 從Pitchfork起步
   11.3.3 通過注釋注入資源
   11.3.4 使用注釋聲明攔截器
  11.4 小結
 第12章 訪問企業服務
  12.1 從JNDI中獲取對象
   12.1.1 使用傳統的JNDI
   12.1.2 注入JNDI對象
   12.1.3 在Spring 2中注入JNDI對象
  12.2 發送電子郵件
   12.2.1 配置郵件發送器
   12.2.2 構建電子郵件
  12.3 調度任務
   12.3.1 使用Java Timer調度任務
   12.3.2 使用Quartz調度器
   12.3.3 按調度計劃調用方法
  12.4 使用JMX管理Spring Bean
   12.4.1 將Spring Bean輸出為MBean
   12.4.2 遠程訪問MBean
   12.4.3 處理通知
  12.5 小結
第三部分 Spring客戶端
 第13章 處理Web請求
  13.1 開始Spring MVC之旅
   13.1.1 請求生命中的一天
   13.1.2 配置DispatcherServlet
   13.1.3 Spring MVC概述
  13.2 將請求映射到控制器
   13.2.1 使用SimpleUrlHandler Mapping
   13.2.2 使用ControllerClassName HandlerMapping
   13.2.3 使用元數據映射控制器
   13.2.4 使用多映射處理器
  13.3 用控制器處理請求
   13.3.1 處理命令
   13.3.2 處理表單提交
   13.3.3 用向導處理復雜表單
   13.3.4 使用一次性控制器
  13.4 處理異常
  13.5 小結
 第14章 渲染Web視圖
  14.1 視圖解析
   14.1.1 使用模板視圖
   14.1.2 解析視圖Bean
   14.1.3 選擇視圖解析器
  14.2 使用Spring模板
   14.2.1 綁定表單數據
   14.2.2 渲染被存儲在外部的文本
   14.2.3 顯示錯誤
  14.3 使用Tile設計頁面布局
   14.3.1 Tile視圖
   14.3.2 Tile控制器
  14.4 使用JSP的替代技術
   14.4.1 使用Velocity模板
   14.4.2 使用FreeMarker
  14.5 產生非HTML輸出
   14.5.1 產生Excel工作表
   14.5.2 產生PDF文檔
   14.5.3 開發自定義視圖
  14.6 小結
 第15章 使用Spring Web Flow
  15.1 開始Spring Web Flow之旅
   15.1.1 安裝Spring Web Flow
   15.1.2 配置流程執行程序
   15.1.3 登記流程定義
  15.2 布置流程的基礎
   15.2.1 流程變量
   15.2.2 start和end狀態
   15.2.3 搜集顧客信息
   15.2.4 綁定比薩餅訂單
   15.2.5 完成訂單
   15.2.6 幾個結束工作
  15.3 高級Web流程技術
   15.3.1 使用decision狀態
   15.3.2 提煉子流程並使用子狀態
  15.4 集成Spring Web Flow與其他框架
   15.4.1 Jakarts Struts
   15.4.2 JavaServer Face
  15.5 小結
 第16章 集成其他Web框架
  16.1 協同使用Spring和Struts
   16.1.1 向Struts注冊Spring插件
   16.1.2 編寫知曉Spring的Struts動作
   16.1.3 委托Spring配置的動作
   16.1.4 關于Struts 2
  16.2 協同使用Spring和WebWork 2/Struts 2
  16.3 集成Spring和Tapestry
   16.3.1 集成Spring和Tapestry 3
   16.3.2 集成Spring和Tapestry 4
  16.4 協同使用Spring和JSF
   16.4.1 解析JSF管理的屬性
   16.4.2 解析Spring Bean
   16.4.3 在JSF頁面中使用Spring Bean
   16.4.4 在JSF中暴露應用程序環境
  16.5 Spring中帶有DWR的支持Ajax的應用程序
   16.5.1 直接Web遠程控制
   16.5.2 訪問Spring管理的Bean DWR
  16.6 小結
附錄A 裝配Spring
  A.1 下載Spring
   A.1.1 研究Spring發布
   A.1.2 構建自己的類路徑
  A.2 把Spring添加為一個Maven 2依賴項
  A.3 Spring與Ant
  A.4 Spring與Log4j
附錄B 用(和不用)Spring進行測試
  B.1 測試簡介
   B.1.1 理解不同類型的測試
   B.1.2 使用JUnit
   B.1.3 Spring在測試中的角色
  B.2 單元測試Spring MVC控制器
   B.2.1 模擬對象
   B.2.2 斷言ModelAndView的內容
  B.3 使用Spring進行綜合測試
   B.3.1 測試裝配後的對象
   B.3.2 綜合測試事務處理對象
   B.3.3 測試數據庫
   B.3.4 使用Gienah Testing在JUnit 4中進行測試
  B.4 小結
 

那是2005年12月7日,我正站在佛羅里達州邁阿密海灘上一家酒店的大型會議廳里。那間屋子里擠滿了來自世界各地的開發人員,他們悻悻然地來到佛羅里達州南部這片美麗的沙灘,都是為了一個目的︰談論Spring。

我能說些什麼昵?滿屋的痴迷者。相比于愜意的陽光浴和舒爽的沖浪運動,我們更願意沉浸在筆記本電腦屏幕溫暖的輝光里,相互切磋這個我們痴狂已久的框架開發技術。

在那個特別的夜晚,當Spring的創建者羅德‧約翰遜(Rod Johnson)介紹此次會議的開放式主旨時,我們都專注地傾听著他的一言一語。他談到了Spring的起源以及在與其有關的工作中享受到的成功樂趣。然後,他邀請了一些Spring團隊成員到講台上,介紹下一版本中將具有的新特性。

羅德並沒有長篇大論地夸夸其談,而是做了一項重要宣布,吸引了在場每一個人的注意力。當時,我們都在期待這些絕妙的新特性將會在Spring 1.3(推測的下一個Spring版本)中可以使用。然而出乎意料的是,羅德宣布,不會再有Spring 1.3,下一個版本將是Spring 2.0。

提高下一次發布的主版本號的決定並不會輕易做出。這樣的一個行動暗示著Spring會有一個重大的躍升。如果Spring的下一個版本是2.0,這意味著它的功能將會有顯著的提升。果然,在10個月之後,具有許許多多新的性能的Spring 2.0發布了,它包括︰

■簡化的XML配置以及創建自定義配置元素的選項
■大大簡化的AOP和事務處理
■支持Java 5注解,用于聲明切面、事務元和所需的Bean屬性
■可以從在JRuby、Groovy或BeanShell中編寫的腳本里創建Bean
■新的JDBC模板,用于已被命名的參數和Java 5特性
■改進的Java消息服務(JMS)支持,包括異步接收消息(用于創建消息驅動的P0JO)
■一個新的格式綁定的JSP標簽庫
■幾個配置約定改進,用于減少配置Spring所需的XML量
■ 支持Java Persistence API (JPA)
■放大的Bean轄區,包括Web應用Bean的請求與對話轄區
■可以在Spring不創建的對象(例如,域對象)上執行依賴注入

羅德的發言中強調的最重要的一點是,如果正在被引入的豐富的新特性不能夠使跳躍升級後的2.0版有巨大的改進的話,那麼就沒必要在此時此刻進行發布。

……
網路書店 類別 折扣 價格
  1. 新書
    87
    $308