程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> EJB 3.1五大模式改進令Java EE 6更好用(1)

EJB 3.1五大模式改進令Java EE 6更好用(1)

編輯:J2EE

【51CTO精選譯文】EJB(Enterprise JavaBeans)是使用Java EE開發和部署業務應用系統的服務端組件架構,使用EJB編寫的應用系統是可擴展的、事務型和安全的。EJB 3.0是Java EE 5平台的一部分,相對前面的版本,它更加易於使用,它的最新版本 — JSR318:EJB 3.1 — 隨Java EE 6發布,進一步簡化了使用,並提供了許多反應常見使用模式的改進,如:

1、無接口視圖:允許你指定一個企業Bean,只使用Bean類,不用編寫獨立的業務接口。

2、單元素集合:讓你在一個企業Bean組件的多個實例間輕松地共享狀態,或是在一個應用程序的多個企業Bean組件之間共享狀態。

3、異步會話Bean調用:通過指定一個注解,讓你可以異步調用會話狀態方法。

4、簡化打包:消除了企業Bean類必須打包到ejb-jar文件的限制,現在你可以直接將EJB類放到WAR文件中。

5、輕量級EJB:它是EJB 3.1的子集,包括大量的Java EE profiles。

無接口視圖

  • EJB 3.1計劃中的特性
  • 為什麼我喜歡EJB 3.0並且尤其喜歡EJB 3.1
  • Java EE 6新特性嘗鮮:EJB 3.1重要變化總
  • Java EE 6新特性之Servlet 3.0的異步處理
  • 在Java EE 6中使用JSF 2.0簡化頁面制作
EJB 3.0本地客戶端視圖是基於普通舊式Java接口(POJI)調用本地業務接口的,本地接口定義了暴露給客戶端的業務方法,並是在Bean類上實現的,這種獨立的接口有時會帶來不必要的麻煩,並且價值也不大,相同模塊內的來自客戶端的本地訪問細粒度組件尤其如此。

EJB 3.1通過讓本地業務接口成為可選組件簡化了這個方法,沒有本地業務接口的Bean暴露的是無接口視圖,現在你不用編寫獨立的業務接口就可以獲得相同的企業Bean功能。

無接口視圖與EJB 3.0中的本地視圖具有相同的行為,例如,它支持如通過按引用調用語義、事務和安全傳播等特性,但無接口視圖不需要單獨的接口,即Bean類所有的公共方法自動暴露給調用者。默認情況下,任何有空implements子句,且沒有定義任何其它本地或遠程客戶端視圖的會話Bean,暴露的是一個無接口視圖。下面的會話Bean暴露了一個無接口視圖:

  1. @Stateless
  2. public class HelloBean {
  3. public String sayHello() {
  4. String message = propertIEsBean.getProperty("hello.message");
  5. return message;
  6. }
  7. }

使用本地視圖時,無接口視圖的客戶端總是獲得一個EJB引用 — 通過注入或JNDI查找,唯一的不同之處是EJB引用的Java類型是Bean類類型,而不是本地接口的類型,如下面的Bean客戶端:

  1. @EJB
  2. private HelloBean helloBean;
  3. ...
  4. String msg = helloBean.sayHello();

注意,雖然這裡沒有接口,客戶端不能使用new()明確地實例化Bean類,那是因為所有Bean調用都是通過一個特殊的EJB引用,或由容器提供的代理實現的,這樣就允許容器提供其它的Bean服務,如池、容器管理的事務,並發管理等。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved