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

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

二、建立包和會話Bean類
        在上面建立的EJB模塊里新建立一個包,如:com.beniao.dayone,然后建立一個無狀態(tài)的會話Bean及一個遠程接口。詳細如下:
                                  

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

   


三、添加商業(yè)方法
        OK,上面Bean已經(jīng)建立,現(xiàn)在就是給EJB Bean添加商業(yè)方法的時候了,這里可以使用NetBeans為我們提供的強大支持,來添加方法以及接口里的定義,在Bean里點"右鍵",在彈出的菜單里選擇"EJB方法"----添加Business方法便OK.如下如示:
                             
        在彈出的窗體里輸入方法名,如果方法有參數(shù)的話,則在下面提供的可視話操作中直接添加參數(shù)就OK了,如下圖:
                          

        OK,到此,NetBeans就會幫我們創(chuàng)建好遠程接口和無狀態(tài)會話Bean,并且建立好接口的方法的定義,以及Bean里的方法實現(xiàn)模型,代碼如下:

 

 1/**
 2 * 遠程接口
 3 * @author Beniao
 4 */

 5@Remote
 6public interface HelloRemote {
 7    void sayHello(String str);
 8}

 9----------------------------------------------
10/**
11 * 無狀態(tài)會話Bean
12 * @author Beniao
13 */

14@Stateless
15public class HelloBean implements HelloRemote {
16    public void sayHello(String str) {
17        
18    }

19}



四、實現(xiàn)遠程接口的Bean方法
        從上面代碼段可以清晰的看出,HelloBean這個無狀態(tài)會話Bean實現(xiàn)了遠程接口HelloRemote(關(guān)于無狀態(tài)會話Bean及遠程接口,這些知識點將在隨后的文章里介紹)。那好,下面我們就來寫這個Bean的具體實現(xiàn)。代碼如下:

 1/**
 2 * 無狀態(tài)會話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}

 

        
        很簡單,就是在傳如的參數(shù)前加一個“Hello”,然后將其輸出到控制臺。到這里,我們的EJB模塊就算是開發(fā)完成,下面就是成功生成此模塊,并將其部署到應用服務(wù)器上。

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

                                           
        現(xiàn)在我們登錄應用服務(wù)器,看上面的工作是不是真的成功完成。在服務(wù)器控制臺上點擊“Application Server”選項,然后在右邊選擇“JNDI Browsing”,在彈出的窗體里看是不是已經(jīng)存在了上面所部署的EJB模塊的JNDI,詳細如下圖:
                          

六、建立應用程序調(diào)用EJB模塊
        建議一個JAVA應用程序(當然其他的類型程序也是可以的),這里需要注意下,EJB模塊開發(fā)完成后總是會打包為jar的,也就是說在我們的應用里需要去調(diào)用EJB模塊的話只需要拿到這個jar包就OK,關(guān)于本文后面將介紹的是通過添加項目直接就把EJB模塊添加到了自己的應用里,這是因為EJB是在本機開發(fā)的,所以可以直接的添加,大家可以看看后面的圖示,實際上在本機直接添加EJB模塊,其實也只是把EJB模塊所部署生成的JAR包添加到了應用中。
    1. 建立JAVA應用程序
        這一步很簡單,這里我就不多說了。        

    2. 添加EJB所支持的類庫和EJB模塊
        在上一篇文章里對開發(fā)EJB所需要的包我們建立了一個為EJB3.0的類庫,這里我們只需要將此類庫直接添加到應用中便OK。操作如下:
        添加EJB模塊:選擇“庫”右鍵,在彈出的菜單里選擇“添加項目”,選擇之前開發(fā)的EJB模塊項目就OK。
        添加EJB類庫:選擇“庫”右鍵,在彈出的菜單里選擇“添加庫”,找到之前建立的EJB3.0的類庫添加就OK。
        添加了EJB模塊和類庫后的應用目錄結(jié)構(gòu)如下:
                   
    3. 編寫測試程序
        測試程序很簡單,大家可以直接查看下面的代碼段,這里面的具體原理不是一句兩句話就能夠介紹清楚,所以這里就不作詳細介紹,有興趣的朋友可以聯(lián)系我,相互交流和討論這些原理問題。

 

 1package 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}

 


    程序運行結(jié)果如下:
                   

七、開發(fā)總結(jié)
        本文里出現(xiàn)了很多大家都不知道具體是什么意思的東西,不過對于學過EJB3.0的朋友來說,這已不是什么高深的東西了,但是對于新手來說還是很迷茫。下面就對這些東西作個小小的總結(jié),詳細我將在下篇文章里介紹。
    1. @Remote--遠程接口
    2. @Stateless--無狀態(tài)會話Bean
    3. JNDI

注:原創(chuàng)文章版權(quán)歸作者,歡迎轉(zhuǎn)載,未經(jīng)作者同意必須注明文章出處或在頁面適當位置給出原文連接,謝謝!
        文章出處:http://beniao.blogjava.net      作者:Beniao       時間:2008.07.31