EJB 3實戰(zhàn)

出版時間: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

評論、評分、閱讀與下載


    EJB 3實戰(zhàn) PDF格式下載


用戶評論 (總計20條)

 
 

  •   這本書傳承了in action系列的特點(在我看來,spring in action中文版第一版,ibatis in action中文版翻譯的著實不怎么樣,除此之外,像ajax in acton,ant in action,struts in acton 著實寫的不錯,當然還有jquery in action),筆墨清晰明了,有深有淺,建議學習EJB3的讀者作為必備食糧!
  •   強烈推薦!透徹的講述EJB3的新特性,深入淺出,值得!
  •   挺好的。我很喜歡。
  •   EJB3實戰(zhàn),還算是一本學習EJB不錯的書,內容也比較通俗易懂,全力推薦該書給想學習EJB的朋友...
  •   當當購書,到手看了開頭,后面內容還不知道,不妄加評論。有讀者反映紙張問題,我覺得紙張還不錯。但是翻譯質量,不能說好。翻譯講究“信,達,雅”。由于中英文的差異,有的時候即便譯文的表達方式和原文差異較大,也要更準確地把原文的意境語意表達出來。例,第26頁倒數(shù)第二段,描述“JNDI查找”方式,與“依賴注入”方式的區(qū)別:原文:“如你所見,在手工JNDI查找模型中,bean顯示地檢索它所需的資源和組件。其結果是組件和資源名稱被硬編碼到bean中。另一方面,容器通過依賴注入讀取目標bean配置,判斷目標bean需要什么bean和資源,然后在運行時把他們注入到此bean中...”此處原文目的是描述兩種方式的區(qū)別,翻譯有兩處不妥,第一,“如你所見”,猜想原文應該是asyoucansee.更好的符合中文習慣的譯法應該為:“如圖所示”,或“如下圖所示”。第二,“另一方面”這個詞猜想原文大概是類似otherwise.此處愿意是指比較的對立面,是說另一種方法。此處翻譯為“另一方面”,剛看到時,以為說的是JNDI的另一方面。所以恰當?shù)姆g應該拋棄原文的說法,翻譯為“而對于依賴注入來說...”所以,修改后的譯文大概如下:如下圖所示,在手工JNDI查找模型中,bean顯示地檢索它所需的資源和組件。其結果是組件和資源名稱被硬編碼到bean中。而對于依賴注入而言,容器通過依賴注入讀取目標bean配置,判斷目標bean需要什么bean和資源,然后在運行時把他們注入到此bean中...”翻譯書稿應該是件很辛苦的事,要求對英文與專業(yè)有深入的了解,但對中文的駕輕就熟,也是不可忽略的因素。記得以為老師說過,翻譯到后來不是外文的水平問題,而是母語水平問題??上Ы谖鲗W東漸與教育的唯利是圖環(huán)境下,除中文專業(yè)外,大學語文早被取代。不好意思說這么多,不敢要求每句話都翻譯的很到位,準確。只是希望越來約好,真正提供給國內讀者精品譯作。
  •   這本書還不錯,內容比較適合初學者,并且也有很多思想!
  •   總體感覺很好,適合有一定使用經驗的人員。
  •   送貨很及時,非常感謝,書的質量還不錯
  •   發(fā)貨挺及時的
  •   感覺不錯,先看看
  •   簡單的實例以及簡單的講解,理解起來不是很難
  •   書本紙張?zhí)?,薄的都不像正版書了。內容仔細閱讀,不做評論。
  •   錯誤到處都是,真不知道印刷前是否經過校驗。
    印刷問題也不少。真是糟蹋了一本好書!
  •   書??傻?。紙張?zhí)盍税伞8愕牟幌裾嫠频摹?/li>
  •   這本書翻譯的真的不好
  •   感覺翻譯水平很一般~
  •   其實沒必要學ejb特別是對于培訓機構的學生和沒有畢業(yè)自己學的有什么用呢?就會聽培訓的老師亂吹國內有幾家公司有本事用EJB?就算真的有,輪不到你用~~
  •     書寫的很好,很實用。個人覺得是介紹EJB3最好的一本書。 但翻譯的實在是讓我忍無可忍??赐曛形陌婧螅X得是一個精神分裂的機器人翻譯的……錯誤百出,很多名詞的翻譯都不正確,若果對EJB了解不深,本書中文版的錯誤極容易誤導讀者。建議參考英文版一起看
      
  •     本書對EJB3學習者,幫助非常大。書中的最佳實踐讓人受益匪淺!原版英文書5星。
      中文翻譯,個人覺得讀起來比較通順。但里面的翻譯錯誤還是不少。雖然如此,對于EJB3 的學習,個人首推本書。
      
      以下是我發(fā)現(xiàn)的翻譯錯誤:
      P33 第17行 <原文>那么無狀態(tài)就特別有用 <改為>那么有狀態(tài)就特別有用
      P36 倒數(shù)第7行 <原文>它和有狀態(tài)bean相比沒... <改為>它和無狀態(tài)bean相比沒...
      P68 中間的注釋7 <原文>指定遠程方法 <改為>指定刪除方法
      P72 第2行 <原文>調用這些方法會立即觸發(fā)bean消息操作 <改為>調用這些方法會立即觸發(fā)bean摧毀操作
      P73 倒數(shù)第4行 <原文>beanName元素允許我們標識此業(yè)務接口 <改為>beanName元素允許我們標識此EJB
      P74 倒數(shù)第3行 <原文>功能就有些值得懷疑 <改為>功能就毫無懷疑
      P77 倒數(shù)第8行 <原文>大多數(shù)通信是異步的 <改為>大多數(shù)通信是同步的。
      
      以上翻譯錯誤,是我在看書學習時,因為納悶其意思,再去查英文原版,發(fā)現(xiàn)翻譯出錯。
      
      我繼續(xù)看第4章??闭`會繼續(xù)和大家分享。
      
      最后,本人再次強烈推薦 本書,作為 中文版EJB3的學習用書。因為,其英文版實在是太帥了。
  •   技術類的書,最好不要看翻譯的。首先一個,保持對英文的水平;我認識很多人,工作時間久了,good morning都忘記是什么意思了。
    另外一個就是,眼界會寬一點,可以看看國外比較熱門的技術網(wǎng)站。
    最后就是,可以節(jié)省很多買書的錢。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7