出版時(shí)間:2008-6 出版社:清華大學(xué)出版社 作者:黎活明 編 頁(yè)數(shù):479 字?jǐn)?shù):693000
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書是關(guān)于EJB 3.0的專業(yè)技術(shù)教程,從實(shí)用的角度出發(fā),理論聯(lián)系實(shí)際,用9章的篇幅詳細(xì)講解了EJB 3.0開發(fā)的方法和技巧?! ”緯鴥?nèi)容豐富,講解由淺入深,全面系統(tǒng),在講解EJB 3.0最新開發(fā)技術(shù)的同時(shí),精心設(shè)計(jì)了與章節(jié)內(nèi)容相關(guān)的實(shí)例,給出了開發(fā)過(guò)程中運(yùn)用到的技巧和注意事項(xiàng),相信讀者一定能從中獲益?! ”緯荅JB開發(fā)者的必備參考書,適合于Java程序員、項(xiàng)目經(jīng)理、系統(tǒng)構(gòu)架師。
作者簡(jiǎn)介
黎活明,Java EE高級(jí)架構(gòu)師與咨詢顧問(wèn),北京傳智播客培訓(xùn)中心兼職講師。有比較豐富的B/S系統(tǒng)開發(fā)與網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),主持或參與“一號(hào)通”、“固話彩鈴”、“移動(dòng)辦公OA”、“統(tǒng)一信息發(fā)送機(jī)”、“MSN業(yè)務(wù)支撐平臺(tái)”和“國(guó)內(nèi)與國(guó)際機(jī)票預(yù)定系統(tǒng)”等項(xiàng)目,成功運(yùn)營(yíng)過(guò)中國(guó)農(nóng)業(yè)網(wǎng)/
書籍目錄
第1章 EJB知識(shí)與運(yùn)行環(huán)境配置 1.1 什么是Enterprice JavaBeans(EJB) 1.2 EJB的運(yùn)行環(huán)境 1.3 什么是JNDI 1.4 下載與安裝JDK 1.5 下載與安裝Eclipse 1.6 下載與安裝JBoss 1.7 運(yùn)行第一個(gè)EJB 3.0例子 1.8 熟悉JBoss的目錄結(jié)構(gòu) 1.9 在JBoss部署應(yīng)用 1.10 如何恢復(fù)本書配套例子的開發(fā)環(huán)境 1.11 執(zhí)行項(xiàng)目中的Ant任務(wù) 1.12 運(yùn)行單元測(cè)試用例 第2章 會(huì)話Bean(Session Bean) 2.1 Stateless Session Beans(無(wú)狀態(tài)Bean)開發(fā) 2.1.1 開發(fā)只實(shí)現(xiàn)Remote接口的無(wú)狀態(tài)Session Bean 2.1.2 開發(fā)只實(shí)現(xiàn)Local接口的無(wú)狀態(tài)Session Bean 2.1.3 開發(fā)實(shí)現(xiàn)了Remote與Local接口的無(wú)狀態(tài)Session Bean 2.2 實(shí)例池化(Instance Pooling) 2.3 Stateless Session Bean的生命周期 2.4 Stateful Session Bean(有狀態(tài)Bean)開發(fā) 2.5 激活機(jī)制(Activation Mechanism) 2.6 Stateful Session Bean的生命周期 2.7 EJB調(diào)用機(jī)制 2.8 如何改變Session Bean的JNDI 名稱 2.9 Session Bean的生命周期事件 2.10 攔截器(Interceptor) 2.11 依賴注入(Dependency Injection) 2.11.1 資源類型的注入 2.11.2 注入與繼承關(guān)系 2.11.3 自定義注入注釋 2.12 定時(shí)服務(wù)(Timer Service) 2.13 安全服務(wù)(Security Service) 第3章 實(shí)體Bean(Entity Bean) 3.1 JBoss數(shù)據(jù)源的配置 3.1.1 MySQL數(shù)據(jù)源的配置 3.1.2 MS SQL Server 2000數(shù)據(jù)源的配置 3.1.3 Oralce 9i數(shù)據(jù)源的配置 3.2 單表映射的實(shí)體Bean 3.3 成員屬性映射 3.4 建議重載實(shí)體Bean的equals()和hashCode()方法 3.5 映射的表名或列名與數(shù)據(jù)庫(kù)保留字同名時(shí)的處理 3.6 多表映射的實(shí)體Bean 3.7 持久化實(shí)體管理器EntityManager 3.7.1 實(shí)體的狀態(tài) 3.7.2 Entity獲取find()或getReference() 3.7.3 持久化實(shí)體persist() 3.7.4 更新實(shí)體 3.7.5 合并merge() 3.7.6 刪除remove() 3.7.7 執(zhí)行JPQL操作createQuery() 3.7.8 執(zhí)行SQL操作createNativeQuery() 3.7.9 刷新實(shí)體refresh() 3.7.10 檢測(cè)實(shí)體是否處于托管狀態(tài)contains() 3.7.11 分離所有正在托管的實(shí)體clear() 3.7.12 刷新flush()與設(shè)置flush模式setFlushMode() 3.7.13 獲取持久化實(shí)現(xiàn)者的引用getDelegate() 3.8 關(guān)系/對(duì)象映射 3.8.1 雙向一對(duì)多及多對(duì)一映射 3.8.2 單向一對(duì)多 3.8.3 單向多對(duì)一 3.8.4 雙向一對(duì)一映射 3.8.5 單向一對(duì)一 3.8.6 雙向多對(duì)多映射 3.8.7 單向多對(duì)多 3.9 JPQL查詢 3.9.1 命名參數(shù)查詢 3.9.2 位置參數(shù)查詢 3.9.3 Date參數(shù) 3.9.4 一個(gè)JPQL查詢例子 3.9.5 命名查詢 3.9.6 排序(order by) 3.9.7 查詢部分屬性 3.9.8 查詢中使用構(gòu)造器(Constructor) 3.9.9 聚合查詢(Aggregation) 3.9.10 關(guān)聯(lián)(join) 3.9.11 排除相同的記錄DISTINCT 3.9.12 比較Entity 3.9.13 批量更新(Batch Update) 3.9.14 批量刪除(Batch Remove) 3.9.15 邏輯非運(yùn)算符NOT 3.9.16 使用操作符BETWEEN 3.9.17 使用操作符IN 3.9.18 使用操作符LIKE 3.9.19 使用操作符IS NULL 3.9.20 使用操作符IS EMPTY 3.9.21 字符串函數(shù) 3.9.22 日期和時(shí)間函數(shù) 3.9.23 數(shù)學(xué)函數(shù) 3.9.24 Member of 3.9.25 子查詢 3.9.26 EXISTS 3.9.27 All、ANY、SOME 3.9.28 結(jié)果集分頁(yè) 3.10 調(diào)用存儲(chǔ)過(guò)程 3.10.1 調(diào)用無(wú)返回值的存儲(chǔ)過(guò)程 3.10.2 調(diào)用返回單值的存儲(chǔ)過(guò)程 3.10.3 調(diào)用返回表全部列的存儲(chǔ)過(guò)程 3.10.4 調(diào)用返回部分列的存儲(chǔ)過(guò)程 3.11 復(fù)合主鍵(Composite Primary Key) 3.11.1 復(fù)合主鍵的定義 3.11.2 另一種復(fù)合主鍵的定義方式 3.12 實(shí)體繼承 3.12.1 每個(gè)類分層結(jié)構(gòu)一張表(table per class hierarchy) 3.12.2 每個(gè)子類一張表(table per subclass) 3.12.3 每個(gè)具體類一張表(table per concrete class) 3.13 Entity的生命周期和狀態(tài) 3.13.1 生命周期回調(diào)事件 3.13.2 在外部類中實(shí)現(xiàn)回調(diào) 3.13.3 在Entity類中實(shí)現(xiàn)回調(diào) 第4章 事務(wù)管理服務(wù) 4.1 容器管理事務(wù)(CMT) 4.2 Bean管理事務(wù)(BMT) 4.3 事務(wù)并發(fā)的問(wèn)題與處理 4.3.1 事務(wù)并發(fā)的問(wèn)題 4.3.2 事務(wù)并發(fā)的處事 4.4 因并發(fā)事務(wù)引起的更新丟失問(wèn)題及處理 4.4.1 使用SERIALIZABLE隔離級(jí)別避免更新丟失 4.4.2 修改代碼邏輯來(lái)避免更新丟失 4.4.3 使用悲觀鎖避免更新丟失 4.4.4 使用樂(lè)觀鎖避免更新丟失 第5章 消息服務(wù)(Java Message Service) 5.1 消息驅(qū)動(dòng)Bean(Message Driven Bean) 5.2 Queue消息的發(fā)送與接收(PTP消息傳遞模型) 5.3 Topic消息的發(fā)送與接收(Pub/sub消息傳遞模型) 5.4 消息選擇器(Message selector) 第6章 Web服務(wù)(Web Service) 6.1 EJB容器模型的Web Service開發(fā) 6.2 Web容器模型的Web Service開發(fā) 6.3 Web Service的客戶端調(diào)用 6.3.1 在J2SE或Web中調(diào)用Web Service 6.3.2 在EJB中調(diào)用Web Service 第7章 在WebLogic中使用EJB 3.0 7.1 WebLogic的安裝 7.2 啟動(dòng)WebLogic Examples服務(wù)器 7.3 熟悉WebLogic的管理控制臺(tái) 7.4 關(guān)閉WebLogic Examples服務(wù)器 7.5 安裝與刪除企業(yè)應(yīng)用 7.6 安裝與刪除EJB模塊 7.7 安裝與刪除Web應(yīng)用 7.8 安裝和引用Java EE共享庫(kù) 7.9 使用Ant發(fā)布與卸載應(yīng)用 7.10 創(chuàng)建JDBC數(shù)據(jù)源 7.11 WebLogic的JNDI名稱 7.12 HelloWorld例子 7.13 Entity Bean應(yīng)用例子 7.14 Message-Driven Bean應(yīng)用例子 7.14.1 創(chuàng)建隊(duì)列 7.14.2 創(chuàng)建主題 7.14.3 隊(duì)列消息的發(fā)送與接收 7.14.4 主題消息的發(fā)送與接收 第8章 Struts+EJB 3.0和JSF+EJB 3.0實(shí)戰(zhàn) 8.1 系統(tǒng)需求 8.2 系統(tǒng)實(shí)現(xiàn) 8.2.1 建立實(shí)體模型 8.2.2 建立持久化配置文件 8.2.3 建立會(huì)話Bean 8.2.4 Struts客戶端 8.2.5 JSF客戶端 8.2.6 創(chuàng)建EAR部署描述文件 8.2.7 使用Ant構(gòu)建和部署程序 第9章 項(xiàng)目實(shí)用知識(shí) 9.1 使用了第三方類庫(kù)的企業(yè)應(yīng)用 9.2 如何對(duì)EJB3進(jìn)行調(diào)試 9.3 單元測(cè)試 9.4 在獨(dú)立的Web服務(wù)器或J2SE中調(diào)用EJB 9.5 如何獲取最新的JBoss版本
章節(jié)摘錄
第1章 EJB知識(shí)與運(yùn)行環(huán)境配置 1.1 什么是Enterprice JavaBeans(EJB) Enterprice JavaBeans(EJB)是一個(gè)用于分布式業(yè)務(wù)應(yīng)用的標(biāo)準(zhǔn)服務(wù)器端組件模型。采用Enterprice JavaBeans架構(gòu)編寫的應(yīng)用是可伸的、事務(wù)性的、多用戶安全的??梢砸淮尉帉戇@些應(yīng)用,然后部署在任何支持Enterprice JavaBeans規(guī)范的服務(wù)器平臺(tái),如JBoss、WebLogic等?! nterprise JavaBeans(EJB)定義了3種企業(yè)Bean,分別是會(huì)話Bean(Session Bean)、實(shí)體Bean(Entity Bean)和消息驅(qū)動(dòng)Bean(Message Driven Bean)。 會(huì)話Bean 會(huì)話Bean用于實(shí)現(xiàn)業(yè)務(wù)邏輯,它分為有狀態(tài)Bean和無(wú)狀態(tài)Bean。每當(dāng)客戶端發(fā)出EJB調(diào)用請(qǐng)求時(shí),容器就會(huì)選擇一個(gè)Session Bean來(lái)為客戶端服務(wù)。會(huì)話Bean可以直接訪問(wèn)數(shù)據(jù)庫(kù),但更多時(shí)候,它是通過(guò)實(shí)體Bean實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)。 實(shí)體Bean 顧名思義,實(shí)體Bean代表真實(shí)物體的數(shù)據(jù)。在EJB 3.0中,實(shí)體Bean僅作為普通Java對(duì)象來(lái)使用,它負(fù)責(zé)與數(shù)據(jù)庫(kù)表進(jìn)行對(duì)象與關(guān)系映射(O/R Mapping)?! ∠Ⅱ?qū)動(dòng)Bean(MDB) MDB是設(shè)計(jì)用來(lái)專門處理基于消息請(qǐng)求的組件。它能夠收發(fā)異步JMS消息,并能夠輕易地與其他EJB交互,特別適用于當(dāng)一個(gè)業(yè)務(wù)執(zhí)行的時(shí)間很長(zhǎng),而執(zhí)行結(jié)果無(wú)須實(shí)時(shí)向用戶反饋的場(chǎng)合。 1.2 EJB的運(yùn)行環(huán)境 EJB需要運(yùn)行在EJB容器,每個(gè)Java EE應(yīng)用服務(wù)器都含有EJB容器和Web容器,所以既可以運(yùn)行EJB,也可以運(yùn)行Web應(yīng)用。目前支持EJB 3.0的應(yīng)用服務(wù)器有JBoss(4.2.X以上版本)、Glassfish、WebLogic(10以上版本)、Sun Application Server(9.0以上版本)、Oracle Application Server(10g以上版本)和我們國(guó)內(nèi)的Apusic應(yīng)用服務(wù)器。本書將介紹JBoss和WebLogic,前者是使用者最多的開源應(yīng)用服務(wù)器,后者是市場(chǎng)占有率最高的商業(yè)應(yīng)用服務(wù)器。
編輯推薦
EJB3.0與環(huán)境配置,Session Bean,Entity Bean,事務(wù)管理服務(wù)、消息服務(wù)、Web服務(wù),在WebLogic中使用EIB3.0,Strus+EJB3.0實(shí)戰(zhàn)、JSF+EJB3.0實(shí)戰(zhàn),EJB3.0與Struts、JSF、Spring整合開發(fā),其他項(xiàng)目實(shí)用知識(shí)?! 〖夹g(shù)與經(jīng)驗(yàn)薈萃,成就光榮與夢(mèng)想! 源自一線的技術(shù)與經(jīng)驗(yàn)結(jié)晶,讓后來(lái)者從容站在前人的肩膀上,站得更高,看得更遠(yuǎn)……?! ”緯宰詈?jiǎn)單通俗的語(yǔ)言,根據(jù)作者自己的開發(fā)經(jīng)驗(yàn),網(wǎng)友的反饋,以及在傳智播客培訓(xùn)中心遇到學(xué)員的各種問(wèn)題集結(jié)而成,迄今為止,應(yīng)該說(shuō)解決了絕大部分EJB 3.0初學(xué)者遇到的問(wèn)題,以期讓初學(xué)者以最快的速度、最輕松的方式、最透徹的理解快速掌握這項(xiàng)技術(shù),作者已經(jīng)盡了最大努力,也希望這本書成為EJB 3.0入門類圖書的經(jīng)典之作?! ”緯那吧硎恰禘JB 3.0實(shí)例教程》,該書的部分電子稿在網(wǎng)上廣為流傳,成為相關(guān)開發(fā)人員學(xué)習(xí)EJB 3.0的第一手中文資料,經(jīng)過(guò)和逾萬(wàn)網(wǎng)友的答疑和交流,得以不斷補(bǔ)充和完善,應(yīng)廣大網(wǎng)友的熱情呼聲,本書得以整理出版。 在此特別感謝廣大網(wǎng)友、技術(shù)同行的熱情支持和鼓勵(lì),我將一如既往解答、探討關(guān)于本書中技術(shù)有關(guān)問(wèn)題?! ”緯窃趪?guó)內(nèi)沒(méi)有任何可以參考資料的前提下,根據(jù)作者自己不斷摸索和積累,以及少許外版資料整理而成,仍然有個(gè)別地方可能讓讀者不甚滿意,希望能夠提出來(lái),待書重印時(shí)一并改進(jìn)?! 杌蠲?/pre>圖書封面
圖書標(biāo)簽Tags
無(wú)評(píng)論、評(píng)分、閱讀與下載
- 還沒(méi)讀過(guò)(48)
- 勉強(qiáng)可看(352)
- 一般般(601)
- 內(nèi)容豐富(2492)
- 強(qiáng)力推薦(204)