出版時間:2008-7 出版社:人民郵電出版社 作者:(美)潘達(Panda,D.) 等著,馬朝暉 等譯 頁數(shù):494 字數(shù):756000 譯者:馬朝暉
Tag標簽:無
內容概要
本書是公認的EJB 3權威著作,詳細介紹了使用EJB 3進行企業(yè)級開發(fā)的方方面面,包括EJB 3基礎、使用EJB 3構造業(yè)務邏輯、Java持久化API、EJB 3的實際應用、移植性和互操作性,等等?;诂F(xiàn)實場景,本書提供了大量實用的范例代碼、最佳實踐、設計模式和性能優(yōu)化技巧。通過對這些知識的學習,開發(fā)者能創(chuàng)建健壯的、可擴展的、基于標準的解決方案。 本書既為EJB的初學者提供了精彩的入門指導,又為有經驗的EJB開發(fā)者提供了詳細的指南和參考。
書籍目錄
第一部分 EJB概述 第1章 EJB 3是什么 1.1 EJB概述 1.1.1 EJB作為組件 1.1.2 EJB作為框架 1.1.3 分層架構和EJB 1.1.4 為什么選擇EJB 3 1.2 了解EJB類型 1.2.1 會話bean 1.2.2 消息驅動bean 1.2.3 實體和JPA 1.3 深入EJB 1.3.1 訪問EJB服務:EJB容器 1.3.2 訪問JPA服務:持久化提供器 1.3.3 使用EJB服務的功能 1.4 EJB的新生 1.4.1 HelloUser示例 1.4.2 簡化的程序設計模型 1.4.3 用注解,不用部署描述文件 1.4.4 依賴注入與JNDI查找 1.4.5 簡化的持久化API 1.4.6 可進行單元測試的POJO組件 1.4.7 EJB 3和Spring 1.5 小結 第2章 EJB 3初體驗 2.1 新特性:簡化EJB 2.1.1 使用注解替換部署描述文件 2.1.2 依賴注入簡介 2.2 ActionBazaar應用程序簡介 2.2.1 從構造的一個子集開始 2.2.2 基于EJB 3的解決方案 2.3 使用會話bean構造業(yè)務邏輯 2.3.1 使用無狀態(tài)bean 2.3.2 無狀態(tài)bean客戶端 2.3.3 使用有狀態(tài)bean 2.3.4 有狀態(tài)bean客戶端 2.4 消息和消息驅動bean 2.4.1 生成賬單消息 2.4.2 使用訂單賬單消息處理器MDB 2.5 使用EJB 3 JPA持久化數(shù)據(jù) 2.5.1 使用JPA 2.5.2 使用EntityManager 2.6 小結 第二部分 使用EJB 3構造業(yè)務邏輯 第3章 使用會話bean構造業(yè)務邏輯 3.1 會話bean簡介 3.1.1 為什么使用會話bean 3.1.2 會話bean基礎 3.1.3 了解程序設計原則 3.1.4 會話狀態(tài)和會話bean類型 3.1.5 bean生命周期回調 3.2 無狀態(tài)會話bean 3.2.1 BidManagerBean示例 3.2.2 使用@Stateless注解 3.2.3 指定業(yè)務接口 3.2.4 使用bean生命周期回調 3.3 有狀態(tài)會話bean 3.3.1 附加程序設計原則 3.3.2 BidderAccountCreatorBean示例 3.3.3 有狀態(tài)bean的業(yè)務接口 3.3.4 有狀態(tài)bean的生命周期回調 3.4 會話bean客戶端 3.4.1 使用@EJB注解 3.4.2 注入和有狀態(tài)會話bean 3.5 有狀態(tài)bean的性能注意事項 3.5.1 有效地使用有狀態(tài)會話bean 3.5.2 有狀態(tài)會話bean的替代方式 3.6 會話bean最佳實踐 3.7 小結 第4章 消息和開發(fā)MDB 4.1 消息概念 4.1.1 面向消息的中間件 4.1.2 ActionBazaar中的消息 4.1.3 消息模型 4.2 Java消息服務簡介 4.2.1 開發(fā)JMS消息生產者 4.2.2 JMS消息接口 4.3 使用消息驅動bean 4.3.1 為什么使用MDB 4.3.2 程序設計原則 4.3.3 使用MDB開發(fā)消息消費者 4.3.4 使用@MessageDriven注解 4.3.5 實現(xiàn)MessageListener 4.3.6 使用ActivationConfig-Property 4.3.7 使用bean生命周期回調 4.3.8 從MDB發(fā)送JMS消息 4.3.9 管理MDB事務 4.4 MDB最佳實踐 4.5 小結 第5章 學習高級EJB概念 5.1 EJB內幕 5.1.1 幕后的EJB 5.1.2 EJB上下文:訪問運行時環(huán)境 5.2 使用依賴注入和JNDI訪問資源 5.2.1 使用@Resource注入資源 5.2.2 @Resource注解實際應用 5.2.3 查找資源和EJB 5.3 EJB中的AOP:攔截器 5.3.1 AOP是什么 5.3.2 攔截器是什么 5.3.3 指定攔截器 5.3.4 實現(xiàn)業(yè)務攔截器 5.3.5 攔截器類中的回調方法 5.4 調度:EJB 3計時器服務 5.4.1 計時器是什么 5.4.2 使用計時器服務 5.4.3 何時使用EJB計時器 5.5 小結 第6章 事務和安全 6.1 了解事務 6.1.1 ActionBazaar中的事務解決方案 6.1.2 ACID屬性 6.1.3 事務管理內幕 6.1.4 兩階段提交 6.1.5 EJB中的事務管理 6.2 容器管理的事務 6.2.1 使用CMT實現(xiàn)Snag-It訂購 6.2.2 @TransactionManagement注解 6.2.3 @TransactionAttribute注解 6.2.4 使CMT使用回調 6.2.5 事務和異常處理 6.3 bean管理的事務 6.3.1 使用BMT實現(xiàn)Snag-It訂購 6.3.2 獲得UserTransaction 6.3.3 使用UserTransaction 6.3.4 BMT的優(yōu)缺點 6.4 分析EJB安全 6.4.1 驗證和授權 6.4.2 用戶、組和角色 6.4.3 ActionBazaar中的安全問題 6.4.4 EJB 3和Java EE安全 6.4.5 聲明式安全 6.4.6 使用EJB程序式安全 6.5 小結第三部分 研究JPA 第7章 實現(xiàn)域模型 7.1 域建模和JPA 7.1.1 介紹域模型 7.1.2 ActionBazaar問題域 7.1.3 域模型參與者 7.1.4 EJB 3 Java持久化API 7.1.5 域對象作為Java類 7.2 使用JPA實現(xiàn)域對象 7.2.1 @Entity注解 7.2.2 持久化實體數(shù)據(jù) 7.2.3 指定實體身份 7.2.4 @Embeddable注解 7.3 實體關系 7.3.1 @OneToOne 7.3.2 @OneToMany和@ManyToOne 7.3.3 @ManyToMany 7.4 小結 第8章 對象關系映射 8.1 阻抗失配 8.1.1 把對象映射到數(shù)據(jù)庫 8.1.2 介紹O/R映射 8.2 映射實體 8.2.1 指定表 8.2.2 映射列 8.2.3 使用@Enumerated 8.2.4 映射CLOB和BLOB 8.2.5 映射臨時類型 8.2.6 把實體映射到多個表 8.2.7 生成主鍵 8.2.8 映射可嵌入類 8.3 映射實體關系 8.3.1 映射一對一關系 8.3.2 一對多和多對一 8.3.3 多對多 8.4 映射繼承 8.4.1 單表策略 8.4.2 聯(lián)結表策略 8.4.3 每個類一個表策略 8.4.4 映射多態(tài)關系 8.5 小結 第9章 使用EntityManager操作實體 9.1 介紹EntityManager 9.1.1 EntityManager接口 9.1.2 實體的生命周期 9.1.3 持久化上下文、作用域和EntityManager 9.1.4 在ActionBazaar中使用EntityManager 9.2 創(chuàng)建EntityManager實例 9.2.1 容器管理的EntityManager 9.2.2 應用程序管理的EntityManager 9.3 管理持久化操作 9.3.1 持久化實體 9.3.2 通過主鍵檢索實體 9.3.3 更新實體 9.3.4 刪除實體 9.3.5 通過轉儲清除控制更新 9.3.6 刷新實體 9.4 實體生命周期監(jiān)聽器 9.4.1 使用實體監(jiān)聽器 9.4.2 默認監(jiān)聽器類 9.4.3 監(jiān)聽器類的執(zhí)行順序和排除 9.5 實體操作最佳實踐 9.6 小結 第10章 使用查詢API和JPQL檢索實體 10.1 介紹查詢API 10.1.1 背景 10.1.2 剖析查詢 10.1.3 定義命名查詢 10.2 執(zhí)行查詢 10.2.1 創(chuàng)建查詢實例 10.2.2 使用Query接口 10.2.3 指定查詢提示 10.3 介紹JPQL 10.3.1 定義語句類型 10.3.2 使用FROM子句 10.3.3 條件表達式和操作 10.3.4 使用JPQL函數(shù) 10.3.5 使用SELECT子句 10.3.6 使用聚合 10.3.7 排序查詢結果 10.3.8 使用子查詢 10.3.9 聯(lián)結實體 10.3.10 批更新和批刪除 10.4 原生SQL查詢 10.4.1 使用原生SQL的動態(tài)查詢 10.4.2 使用命名原生SQL查詢 10.5 小結 第四部分 EJB 3的實際應用 第11章 打包EJB 3應用程序 11.1 給應用程序打包 11.1.1 剖析EAR文件 11.1.2 加載EAR模塊 11.2 分析類加載 11.2.1 類加載基礎 11.2.2 分析典型的父委托模型 11.2.3 Java EE應用程序中的類加載 11.2.4 Java EE模塊之間的相關性 11.3 打包會話bean和消息驅動bean 11.3.1 打包EJB-JAR 11.3.2 部署描述文件與注解 11.3.3 使用部署描述文件覆寫注解 11.3.4 指定默認攔截器設置 11.3.5 使用廠商專有的注解和描述文件 11.4 打包實體 11.4.1 暴露持久化模塊 11.4.2 使用persistence.xml描述持久化模塊 11.4.3 使用orm.xml執(zhí)行O/R映射 11.5 最佳實踐和常見部署問題 11.5.1 打包和部署最佳實踐 11.5.2 診斷常見部署問題 11.6 小結 第12章 有效地跨越應用程序層集成EJB 12.1 設計模式和Web技術 12.1.1 表現(xiàn)層 12.1.2 使用EAO模式 12.1.3 介紹Session Facade模式 12.2 從Web層訪問會話bean 12.2.1 使用依賴注入訪問會話bean 12.2.2 從幫助器類引用會話bean 12.2.3 處理事務 12.2.4 處理有狀態(tài)會話bean 12.3 從Web層使用JPA 12.3.1 使用容器管理的實體管理器 12.3.2 通過JTA事務使用應用程序管理的EntityManager 12.3.3 在容器外訪問應用程序管理的EntityManager 12.4 小結 第13章 馴服EJB:性能和可伸縮性 13.1 處理實體鎖定問題 13.1.1 了解鎖定類型 13.1.2 樂觀鎖定和實體版本 13.1.3 EntityManager和鎖定模式 13.2 提高實體性能 13.2.1 重新建模和重新設計計劃 13.2.2 優(yōu)化JDBC層 13.2.3 減少數(shù)據(jù)庫操作 13.2.4 提高查詢性能 13.2.5 緩存 13.3 提高EJB 3組件的性能 13.3.1 會話bean性能 13.3.2 提高MDB性能 13.4 集群EJB應用程序 13.4.1 協(xié)同定位架構 13.4.2 無狀態(tài)會話bean的負載平衡 13.4.3 集群有狀態(tài)會話bean 13.4.4 實體和集群緩存 13.5 小結 第五部分 移植和互操作性 第14章 移植到EJB 3 14.1 與EJB 2的向后兼容性和互操作性 14.1.1 將EJB 2和EJB 3打包在一起 14.1.2 從EJB 3調用EJB 2 14.1.3 從EJB 2使用EJB 3 14.2 移植會話bean 14.2.1 轉換接口和bean類 14.2.2 資源使用 14.2.3 事務和安全設置 14.2.4 客戶端應用程序 14.3 移植消息驅動bean 14.4 把CMP 2實體移植到EJB 3 JPA 14.4.1 重新設計域模型 14.4.2 DTO用作實體 14.4.3 實體bean類和接口 14.4.4 客戶端應用程序 14.5 移植JDBC DAO使用EJB 3 JPA 14.5.1 標識實體 14.5.2 重新構造DAO實現(xiàn)類使用EntityManager API 14.5.3 SQL查詢轉換為JPQL 14.6 幫助O/R框架使用EJB 3 JPA 14.7 移植方法 14.7.1 策略 14.7.2 手工與自動 14.8 小結 第15章 把EJB暴露為Web服務 15.1 Web服務是什么 15.1.1 認識Web服務組件 15.1.2 Web服務樣式 15.1.3 開發(fā)Web服務的方法 15.2 JAX-WS:Java EE 5 Web服務平臺 15.2.1 介紹Web服務平臺 15.2.2 與POJO相比,為什么選擇EJB用于Web服務 15.3 使用JAX-WS 2.0開發(fā)EJB Web服務 15.3.1 使用@WebService注解 15.3.2 使用@SOAPBinding指定Web服務樣式 15.3.3 使用@WebMethod注解 15.3.4 使用@WebParam注解 15.3.5 使用@WebResult注解 15.3.6 使用@OneWay和@HandlerChain注解 15.4 從EJB訪問Web服務 15.4.1 訪問PlaceBid Web服務 15.4.2 EJB作為Web服務客戶 15.5 Web服務開發(fā)的最佳實踐 15.6 小結 第16章 EJB 3和Spring 16.1 Spring框架簡介 16.1.1 Spring框架的優(yōu)勢 16.1.2 控制反轉原理 16.1.3 關注分離原理 16.2 通過Spring使用JPA 16.2.1 構造Spring的JPA EAO 16.2.2 配置Spring使用JPA 16.3 結合EJB 3和Spring的功能 16.3.1 開發(fā)支持Spring的EJB 16.3.2 從Spring bean使用會話bean 16.4 小結 附錄A RMI和JNDI 附錄B 復習關系數(shù)據(jù)庫 附錄C 注解參考 附錄D 部署描述文件參考 附錄E 安裝和配置Java EE 5 SDK 資源 索引
章節(jié)摘錄
第一部分 EJB概述 本書的主題是EJB 3——令人注目的企業(yè)JavaBean標準的新版本。EJB的重生來得正是時候,這一切歸功于Java SE 5引入的創(chuàng)新,倒如元數(shù)據(jù)注解、依賴注入和基于對象-關系映射的持久化等概念?! 〉?章介紹EJB技術。本間講解了EJB作為開發(fā)平臺的獨特實力以及提高工作效率和易用性的非常好的新特性。
編輯推薦
“杰作!講述了EJB 3的方方面面,僅書中的最佳實踐就已經物超所值。強烈推薦!” ——Awais Bajwa,JSR 243 JDO專家組成員 “我已經買了所有已出版的EJB 3圖書,毫無疑問,本書是最好的,它改變了我對EJB 3的看法。” ——Ashish Srivastava,Oracle工程師 EJB 3是Java EE 5.O中最重要的創(chuàng)新。與EJB 2相比,EJB 3發(fā)生了革命性的變化。通過全面擁抱POJO程序設計模型,引入JPA以充分吸取Hibem3ate等對象一關系映射方案的優(yōu)點,EJB 3大大簡化了基于標準的企業(yè)應用開發(fā)。 本書是EJB 3領域目前公認的不可替代的權威著作。與其他同類圖書相比。本書沒有過多講述理論;和IEJB老版本的特性。而是從實戰(zhàn)出發(fā),緊扣讀者需求,直指EJB 3核心主題,在輕松生動的語言中,帶你領略大量代碼示例、設計模式、性能調優(yōu)技巧,以及構造和部署可伸縮應用程序的最佳實踐。本書的另一獨特之處是充分探討了EJB與JSF、Ajax甚至Spring等相關技術的集成。通過閱讀本書,你將更加深刻地理解Java EE開發(fā)的真諦?! ∽髡吆喗椋骸 ebu Panda,世界級的EJB專家,Oracle Application Server開發(fā)團隊的產品經理主管,領導著Oracle.Java EE容器的開發(fā)。他有15年以上的IT從業(yè)經驗,在Java Developers Ioumal、TheServerSide等世界一流技術媒體上發(fā)表了大量關于企業(yè)級Java技術的文章。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載