JavaBean,POJO,EJB區別


JavaBean 是一種JAVA語言寫成的可重用組件。它的方法命名,構造及行爲必須符合特定的約定:

1.這個類必須有一個公共的缺省構造函數。
2.這個類的屬性使用getter和setter來訪問,其他方法遵從標準命名規範。

3.這個類應是可序列化的。



POJO全稱是Plain Ordinary Java Object / Pure Old Java Object
POJO的內在含義是指那些沒有從任何類繼承、也沒有實現任何接口,更沒有被其它框架侵入的java對象


Enterprise Java Beans(EJB)稱爲Java 企業Bean
是J2EE的一部分,定義了一個用於開發基於組件的企業多重應用程序的標準。其特點包括網絡服務支持和核心開發工具(SDK)。
分別是會話 Bean(Session Bean),實體Bean(Entity Bean)和消息驅動Bean(MessageDriven Bean)。


1.Session Bean用於實現業務邏輯,它可以是有狀態的,也可以是無狀態的。每當客戶端請求時,容器就會選擇一個Session Bean來爲客戶端服務。Session Bean可以直接訪問數據庫,但更多時候,它會通過Entity Bean實現數據訪問。 這個類一般用單例模式來實現,因爲每次連接都需要用到它。


2.Entity Bean是域模型對象,用於實現O/R映射,負責將數據庫中的表記錄映射爲內存中的Entity對象,事實上,創建一個Entity Bean對象相當於新建一條記錄,刪除一個 Entity Bean會同時從數據庫中刪除對應記錄,修改一個Entity Bean時,容器會自動將Entity Bean的狀態和數據庫同步。


Java Persistence 1.0規範中的entity bean僅作爲普通Java對象(POJO)來使用,並且是映射到關係數據庫表的。

與其他類型的EJB不同,entity bean可以被分配,序列化,並像任何其他POJO那樣通過網絡被髮送出去。


3.MessageDriven Bean是EJB2.0中引入的新的企業Bean,它基於JMS消息,只能接收客戶端發送的JMS消息然後處理。MDB實際上是一個異步的無狀態Session Bean,客戶端調用MDB後無需等待,立刻返回,MDB將異步處理客戶請求。這適合於需要異步處理請求的場合,比如訂單處理,這樣就能避免客戶端長時間的等待一個方法調用直到返回結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章