程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 一步一步學EJB 3.0(二):初探企業EJB模塊開發

一步一步學EJB 3.0(二):初探企業EJB模塊開發

編輯:關於JAVA

上一篇文章裡詳細介紹了EJB 3.0的開發環境的搭建,本文以上文中所搭建好的開發環境,給大家簡單的 介紹下在NetBeans下去開發企業EJB的流程,以一個簡單的示例程序展開介紹.

一、建立EJB模塊

這一步很簡單,選擇“文件”菜單裡的“新建項目”選項,在項目類別裡選擇“企業”,在右邊項目 選項裡選擇“EJB模塊”,詳細如下圖示:

二、建立包和會話Bean類

在上面建立的EJB模塊裡新建立一個包,如:com.beniao.dayone,然後建立一個無狀態的會話Bean及一 個遠程接口。詳細如下:

例如建立一個Hello的無狀態會話Bean,和一個遠程接口,如下圖示:

三、添加商業方法

OK,上面Bean已經建立,現在就是給EJB Bean添加商業方法的時候了,這裡可以使用NetBeans為我們提供 的強大支持,來添加方法以及接口裡的定義,在Bean裡點"右鍵",在彈出的菜單裡選擇"EJB方法"----添加 Business方法便OK.如下如示:

在彈出的窗體裡輸入方法名,如果方法有參數的話,則在下面提供的可視話操作中直接添加參數就OK了, 如下圖:

OK,到此,NetBeans就會幫我們創建好遠程接口和無狀態會話Bean,並且建立好接口的方法的定義,以及 Bean裡的方法實現模型,代碼如下:

/** *//**
2 * 遠程接口
3 * @author Beniao
4 */
5@Remote
6public interface HelloRemote {
7  void sayHello(String str);
8}
9----------------------------------------------
10/** *//**
11 * 無狀態會話Bean
12 * @author Beniao
13 */
14@Stateless
15public class HelloBean implements HelloRemote {
16  public void sayHello(String str) {
17
18  }
19}

四、實現遠程接口的Bean方法

從上面代碼段可以清晰的看出,HelloBean這個無狀態會話Bean實現了遠程接口HelloRemote(關於無 狀態會話Bean及遠程接口,這些知識點將在隨後的文章裡介紹)。那好,下面我們就來寫這個Bean的具體 實現。代碼如下:

1/** *//**
2 * 無狀態會話Bean
3 * @author Beniao
4 */
5@Stateless
6public class HelloBean implements HelloRemote {
7  public void sayHello(String str) {
8    System.out.println("Hello " + str);
9  }
10}

很簡單,就是在傳如的參數前加一個“Hello”,然後將其輸出到控制台。到這裡,我們的EJB模塊就 算是開發完成,下面就是成功生成此模塊,並將其部署到應用服務器上。

五、部署EJB到應用服務期

在部署EJB到應用服務器之前必須啟動服務器,啟動方法在上篇文章裡有所介紹,這裡就不在說明。當 服務器啟動成功後,點擊EJB項目處右鍵,在彈出的菜單裡選擇“取消部署後再次部署”,成功部署就OK 了。

現在我們登錄應用服務器,看上面的工作是不是真的成功完成。在服務器控制台上點擊“Application Server”選項,然後在右邊選擇“JNDI Browsing”,在彈出的窗體裡看是不是已經存在了上面所部署的 EJB模塊的JNDI,詳細如下圖:

六、建立應用程序調用EJB模塊

建議一個JAVA應用程序(當然其他的類型程序也是可以的),這裡需要注意下,EJB模塊開發完成後總 是會打包為jar的,也就是說在我們的應用裡需要去調用EJB模塊的話只需要拿到這個jar包就OK,關於本 文後面將介紹的是通過添加項目直接就把EJB模塊添加到了自己的應用裡,這是因為EJB是在本機開發的, 所以可以直接的添加,大家可以看看後面的圖示,實際上在本機直接添加EJB模塊,其實也只是把EJB模塊 所部署生成的JAR包添加到了應用中。

1. 建立JAVA應用程序

這一步很簡單,這裡我就不多說了。

2. 添加EJB所支持的類庫和EJB模塊

在上一篇文章裡對開發EJB所需要的包我們建立了一個為EJB3.0的類庫,這裡我們只需要將此類庫直接 添加到應用中便OK。操作如下:

添加EJB模塊:選擇“庫”右鍵,在彈出的菜單裡選擇“添加項目”,選擇之前開發的EJB模塊項目就 OK。

添加EJB類庫:選擇“庫”右鍵,在彈出的菜單裡選擇“添加庫”,找到之前建立的EJB3.0的類庫添加 就OK。

添加了EJB模塊和類庫後的應用目錄結構如下:

3. 編寫測試程序

測試程序很簡單,大家可以直接查看下面的代碼段,這裡面的具體原理不是一句兩句話就能夠介紹清 楚,所以這裡就不作詳細介紹,有興趣的朋友可以聯系我,相互交流和討論這些原理問題。

package myapp.dayone;
2
3import javax.naming.Context;
4import javax.naming.InitialContext;
5import com.beniao.dayone.*;
6
7public class Main {
8  public static void main(String[] args) throws Exception {
9    Context ctx = new InitialContext();
10    HelloRemote hw = (HelloRemote)ctx.lookup("myejb/hello");
11    hw.sayHello("Beniao!");
12  }
13}

程序運行結果如下:

七、開發總結

本文裡出現了很多大家都不知道具體是什麼意思的東西,不過對於學過EJB3.0的朋友來說,這已不是 什麼高深的東西了,但是對於新手來說還是很迷茫。下面就對這些東西作個小小的總結,詳細我將在下篇 文章裡介紹。

1. @Remote--遠程接口

2. @Stateless--無狀態會話Bean

3. JNDI

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