国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

EJB 3.0+Aspect實現聲明性編程初步

2019-11-18 15:38:22
字體:
來源:轉載
供稿:網友

  提要 本文將與你一同探討怎樣把注解和方面的威力聯合起來,以與EJB 3.0兼容的方式為企業實現提供聲明性服務,而在同時仍然提供容器的獨立性。

  一、 引言

  在我們共同尋求進一步提高軟件開發生產性能的方法的過程中,我們-作為java社團成員-一般都轉向J2EE來提供針對企業開發中更具挑戰性的技術問題如分布式事務治理、并發性和對象分布等的解決方案。其背后的指導思想-這些復雜的企業服務能被應用程序服務器供給商所實現并能為商業開發者所平衡-的確是一種很好的思想。J2EE,具體地說是EJB,已成功地提供了一個平臺-在其上構建企業Java應用程序。

  這其中部分的成功是由于能夠進行聲明性編程-一種程序開發方式-用這種方式,你可以聲明基礎結構服務而不是用商業邏輯明確地編碼從而使代碼散布于各處。EJB已經證實了這種編程方式的價值-通過答應企業問題例如事務和安全被用一種發布描述符所聲明并為容器所處理。

  然而,在過去的歲月中,越來越多的開發者熟悉到EJB在團隊的生產效率方面給它自己帶來新的大量的挑戰-每個EJB必須伴隨多個接口,以一種發布描述符描述,經由JNDI被存取,等等。而在容器外EJB上進行單元測試也帶來另外的困難,如今EJB已不再把重點放在單純的面向對象開發上。

  請注重,為閱讀本文您需具備如下工具:

  ·Java 2 SDK 1.5

  ·Maven 2.0 Beta 2

  EJB 3.0的目標在于從以下幾個方面使企業開發更為輕易:

  ·通過引入元數據注解來實現聲明性請求企業服務

  ·經由注解實現依靠性/資源注入

  ·實現企業beans與EJB特定接口的解耦

  ·經由輕量級的對象關系映射實現持續性存儲的簡化

  這對于EJB開發者來說尤如一股春風-一直以來,他們竭力地從事開發、測試和維護EJB。利用EJB 3.0寫一個企業bean現在變得很輕易,就如用特定的注解創建一個POJO(傳統的Java對象)以把它標明為一個EJB并請求企業服務。下面是一個來自于EJB 3.0 Public Draft中EJB的例子:

@Stateful
public class CartBean implements ShoppingCart
{
PRivate float total;
private Vector prodUCtCodes;
public int someShoppingMethod(){...};
...
}
  EJB 3.0聲明中實質上指明開發者需要的不是一重量級的、"一次發布滿足所有"的解決方案,而是一個輕量級的、輕易使用的解決方案-為開發者提供一定范圍的企業服務。為此,EJB 3.0所提供的最重要的方法之一就是實現企業beans與EJB API的解耦。并且,此解決方案還帶來令人感愛好的衍生-EJB現在不僅能夠運行在不同的EJB容器上,而且還能運行于任何應用程序框架內部-這些框架必須能夠識別EJB 3.0(JSR 220)和用于聲明企業服務的普通注解(JSR 250)。

  本文沒有提供關于聲明性編程、EJBs、方面或注解的深度探索。相反,而只是分析一下這些技術之間的相互關系并討論如何把它們用一種新的方式結合起來以簡化應用程序開發。

  在本文中,你將會學習到如何編寫一個EJB 3.0兼容的bean并且通過創建幾個簡單的方面使其具有聲明性事務治理、安全和資源注入等功能。我希望您能從這個練習中得到以下的受益:

  ·學習方面的三個實際應用(依靠性注入、安全和事務)。

  ·熟悉EJB 3.0及其背后的思想。

  ·熟悉到怎樣實現EJB與特定API的解耦以答應EJB 3.0兼容的服務能夠以輕量級實現而不是僅由EJB來提供。

  二、 實例應用程序-航班訂購

  在整個后面的討論中,你將學習到一個航班訂購系統的實現-它使用方面和注解來實現依靠性注入、安全和事務治理。該應用程序僅執行兩項功能:它答應用戶搜索航班(圖1),然后訂購一次旅行(圖2)。這兩個操作都將被進行安全處理以僅答應能被識別的用戶來執行它們。另外,既然"訂購旅行"操作包含訂購兩個航班(外出和返回航班),那么需要把該操作創建為事務性的-如,兩個訂購將作為一個工作單元要么都成功要么都失敗。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇阳县| 马山县| 开封县| 迁西县| 龙海市| 台中市| 康乐县| 壤塘县| 芜湖县| 岳普湖县| 米易县| 定南县| 电白县| 辛集市| 兰溪市| 松原市| 奉化市| 如东县| 齐齐哈尔市| 疏附县| 花垣县| 南通市| 深州市| 澄江县| 长宁区| 紫金县| 元氏县| 东至县| 嘉祥县| 仁怀市| 民丰县| 文成县| 奉新县| 临江市| 淮南市| 晋州市| 寻乌县| 彭山县| 北流市| 韩城市| 泗阳县|