亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

EJB 3.0的三大類型詳解

2019-11-18 11:09:39
字體:
來源:轉載
供稿:網友

無論你創建bean會話是為了執行特定任務,還是把表映射到實體bean以更新數據,都可以使用普通的java對象和接口來完成這些工作,并且可以通過在業務方法中使用注釋,把方法提供給客戶端。

EnterPRise JavaBean (EJB) 是可重用的、可移植的 J2EE 組件。EJB 由封裝業務邏輯的方法組成。譬如說,EJB 可能有這樣的業務邏輯:包含了更新數據庫中客戶數據的方法。眾多遠程和本地客戶端可以調用該方法。另外,EJB 在容器里面運行,這樣開發人員只要關注bean里面的業務邏輯,不必擔心復雜、輕易出錯的問題,譬如事務支持、安全性和遠程對象訪問等。EJB 作為普通Java對象(POJO)的形式來開發,開發人員可以使用元數據注釋(metadata annotations)來指定容器如何治理這些bean。

EJB 包括三種主要類型:會話 bean、實體 bean和消息驅動的bean。會話bean執行獨立的、解除耦合的任務,譬如檢查客戶的信用記錄。實體bean是一個復雜的業務實體,它代表數據庫中存在的業務對象。消息驅動的bean用于接收異步JMS 消息。下面,讓我們進一步研究EJB 3.0規范中的這些類型。

一、會話bean

會話bean通常代表業務流程里面的操作,譬如“處理訂單”??筛鶕υ挔顟B的保持性,即有狀態和無狀態對會話bean進行分類。

無狀態的會話 bean沒有內部狀態。它們不跟蹤記錄從一個方法調用傳遞到另一個方法調用的信息。因此,每次調用無狀態的業務方法都獨立于前一次調用,譬如計算稅款或者運費。用某個應稅值調用計算稅款的方法時,對稅款值進行計算并返回給調用方法,而不必保存調用者的內部狀態供以后調用。因為這些bean并不保持狀態,所以容器對它們進行治理就很簡單。客戶端請求無狀態的bean實例時,可以從容器保持的無狀態的會話bean 實例池當中接收一個實例。另外,因為無狀態的會話 bean可以共享,所以容器可保持數量較少的實例為許多客戶端提供服務。想指定Java Bean作為無狀態的會話bean加以部署及治理,只需要為該bean添加注釋@Stateless。

有狀態的會話 bean在方法調用時可保持對話狀態,譬如客戶的網上購物車。客戶開始網上購物時,可以從數據庫中檢索客戶的具體信息??蛻敉徫镘嚴锩嫣砑由唐坊蛘邚睦锩鎰h除商品、下訂單等時調用的其他方法也可以使用這些具體信息。不過,有狀態的會話bean是暫時性的,因為出現會話終止、系統崩潰或者網絡故障后,狀態不復存在。客戶端請求有狀態的會話bean實例時,就為該客戶端分配一個有狀態的實例,并為該客戶端保持該組件的狀態。要指定容器在某個方法完成后刪除有狀態的會話bean實例,只要為該方法添加注釋@Remove。

會話 bean示例如下:

import javax.ejb.Stateless.*;

/*A simple stateless session bean implementing the incrementValue() method of the * CalculateEJB interface.*/

@Stateless(name="CalculateEJB")

public class CalculateEJBBean

implements CalculateEJB

{

int value = 0;

public String incrementValue()

{

value++;

return "value incremented by 1";

}

}

二、實體bean

實體bean是治理持久性數據的一個對象,有可能使用幾個相關的Java對象,并可以通過主鍵實現惟一性。通過添加@Entity注釋,可以把某類指定為實體bean。實體bean代表數據庫中的持久性數據,如客戶表中的一行或者員工表中的一條員工記錄。實體bean還可以在多個客戶端之間共享。譬如說,某個員工實體bean可以由多個客戶端用于計算某員工的年薪或者更新員工地址。實體bean對象的特定字段可以成為持久性字段。實體bean中沒有被@Transient注釋標記的所有字段都被視為持久性字段。EJB 3.0的一個主要特性就是,能夠使用元數據注釋來創建包含對象/關系映射的實體bean。譬如說,想指定把實體bean的empId字段映射到 Employees表中的EMPNO屬性,就要使用@Table(name="Employees") 來注釋表名,使用 @Column(name="EMPNO") 來注釋字段,如下面的例子所示。另外,EJB 3.0 的一個特性是,在開發期間可以方便地測試實體bean,因為現在使用 Oracle 應用服務器實體測試工具,就可以在容器外面運行實體bean。

實體 bean示例如下:

import javax.persistence.*;

import java.util.ArrayList;

import java.util.Collection;

@Entity

@Table(name = "EMPLOYEES")

public class Employee implements java.io.Serializable

{

 private int empId;

 private String eName;

 private double sal;

 @Id

 @Column(name="EMPNO", primaryKey=true)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩亚洲欧美中文在线| 欧美肥臀大乳一区二区免费视频| 久久夜精品va视频免费观看| 全球成人中文在线| 国内精品免费午夜毛片| 国产91成人video| 久久99精品久久久久久青青91| 2019中文字幕在线| 一本一道久久a久久精品逆3p| 国产乱人伦真实精品视频| 最近更新的2019中文字幕| 欧美成人精品xxx| 亚洲欧美综合图区| 国产美女高潮久久白浆| 一本大道亚洲视频| 欧美大片在线免费观看| 欧美成人在线免费视频| 亚洲老司机av| 久久久av网站| 精品女厕一区二区三区| 久久久久久久久久久免费| 欧美激情欧美激情在线五月| 国内精品久久久久久中文字幕| 成人羞羞国产免费| 亚洲色图色老头| 在线观看中文字幕亚洲| 中文字幕亚洲综合| 国产精品吹潮在线观看| 国内成人精品一区| 韩曰欧美视频免费观看| 亚洲九九九在线观看| 91中文字幕在线观看| 日韩欧美在线中文字幕| 久久精品成人欧美大片| 在线观看日韩视频| 欧美三级欧美成人高清www| 美女少妇精品视频| 欧洲亚洲女同hd| 91久久精品一区| 日韩av在线天堂网| 亚洲第一男人天堂| 欧美专区在线观看| 亚洲国产另类久久精品| 日韩欧美在线观看| 欧美裸体xxxx| 久久久久国产精品www| 日韩av一区在线| 久久91亚洲精品中文字幕| 国产免费一区二区三区在线观看| 91免费精品视频| 亚洲a区在线视频| 欧美日韩成人免费| 欧美一级淫片videoshd| 庆余年2免费日韩剧观看大牛| 57pao成人国产永久免费| 国内精品久久久久久久| 日韩欧美精品免费在线| 欧美精品久久一区二区| 一区二区三区四区在线观看视频| 日韩影视在线观看| 红桃视频成人在线观看| 日韩高清欧美高清| 欧美一区二三区| 日韩久久午夜影院| 精品日韩中文字幕| 亚洲一区二区国产| 色偷偷亚洲男人天堂| 亚洲成av人影院在线观看| 亚洲在线免费视频| 欧美一级在线亚洲天堂| 国产精品第1页| 色偷偷9999www| 日韩av免费网站| 狠狠躁夜夜躁久久躁别揉| 亚洲最大成人在线| 欧美在线观看视频| 国产亚洲一区精品| 国产精品久久视频| 一区二区欧美激情| 国产日本欧美一区二区三区| 久久久电影免费观看完整版| 久久久这里只有精品视频| 欧美成年人视频网站| 欧美性xxxx极品hd欧美风情| 久久精品夜夜夜夜夜久久| 欧美日韩国产精品一区二区三区四区| 日韩欧美a级成人黄色| 欧美理论在线观看| 91精品久久久久久久久久久久久| 欧美成人精品一区二区三区| 国产精品综合不卡av| 在线看欧美日韩| 欧美亚洲国产另类| 色悠悠国产精品| 韩国三级日本三级少妇99| 国产日韩欧美中文在线播放| 国产精品久久久久久久av电影| 亚洲一区免费网站| 欧美在线视频一二三| 欧美黄网免费在线观看| 欧美老女人性生活| 亚洲黄色av网站| 亚洲va欧美va国产综合剧情| 大量国产精品视频| 日韩高清免费观看| 在线观看欧美成人| 精品久久久久久国产| 亚洲精品乱码久久久久久按摩观| 欧美日韩国产成人在线观看| 欧美国产日韩中文字幕在线| 国产精品27p| 精品国产视频在线| 欧美一级淫片aaaaaaa视频| 555www成人网| 日韩一区二区三区国产| 久久99精品国产99久久6尤物| 国产精品视频xxxx| 色综合视频一区中文字幕| 午夜免费在线观看精品视频| 欧美视频在线视频| 欧美激情奇米色| 亚洲激情第一页| 亚洲大尺度美女在线| 日韩免费电影在线观看| 最新91在线视频| 日韩激情视频在线| 久久久久久国产三级电影| 色综合导航网站| 国产精品久久久av久久久| 中文字幕亚洲一区二区三区五十路| 欧美一级淫片丝袜脚交| 亚洲精品美女在线观看播放| 色偷偷亚洲男人天堂| 韩日欧美一区二区| 丁香五六月婷婷久久激情| www.99久久热国产日韩欧美.com| 狠狠躁夜夜躁人人爽天天天天97| 国产精品91久久久久久| 国产精品专区第二| 午夜精品一区二区三区在线视频| 亚洲精品456在线播放狼人| 日韩精品免费在线观看| 国产一区二区三区免费视频| 国产精品午夜一区二区欲梦| 久久久精品欧美| 欧美色欧美亚洲高清在线视频| 久久久久久久久综合| 亚洲国产又黄又爽女人高潮的| 久久精品影视伊人网| 欧美日韩国产黄| 亚洲综合色激情五月| 91精品国产免费久久久久久| 精品亚洲国产视频| 97国产suv精品一区二区62| 精品亚洲国产成av人片传媒| 国产精品久久久久999| 欧美乱妇高清无乱码| 亚洲激情小视频| 精品国产美女在线| 亚洲二区中文字幕| 黄色91在线观看| 91美女片黄在线观| 国产成人+综合亚洲+天堂| 亚洲男人的天堂网站|