天天看點

JavaBean、POJO、EJB、Entity、DTO

1、JavaBean

    JavaBean是一種Java語言寫成的可重用元件。為寫成JavaBean,類必須是具體和公共的,并且具有無參數的構造器。JavaBean通過提供符合一緻性設計模式的公共方法将内部域暴露成員屬性。更多的是一種規範,即包含一組set和get方法的java對象。JavaBean可以使應用程式更加面向對象,可以把資料封裝起來,把應用的業務邏輯和顯示邏輯分離開,降低了開發的複雜程度和維護成本。

2、EJB

    即EnterpriseBean,也就是Enterprise JavaBean(EJB)。

    EJB是JavaEE的一部分,定義了一個用于開發基于元件的企業多重應用程式标準。它被稱為Java企業Bean,是java的核心代碼,分别是會話Bean(Session Bean)、實體Bean(Entity Bean)、和消息驅動Bean(MessageDriven Bean)。

3、POJO

    (Plain Ordinary Java Object)簡單的Java對象,實際就是普通JavaBeans,是為了避免和EJB混淆所創造的簡稱。

    其中有一些屬性及其getter、setter方法的類,沒有業務邏輯,有時可以作為VO(value-object)或DTO(Data Transfer Object)來使用。不允許有業務方法,也不能攜帶connection之類的方法。

    與JavaBean相比:JavaBean則複雜很多,JavaBean是可複用的元件,對JavaBean并沒有嚴格的規範,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由于JavaBean是被容器建立的,是以JavaBean應具有一個無參的構造器。另外,通常JavaBean還要實作Serializable接口用于實作Bean的持久性。一般在web應用程式中建立一個資料庫的映射對象時,我們隻能稱他為POJO。用來強調它是一個普通的對象,而不是一個特殊的對象,其主要用來指代哪些沒有遵從特定的java對象模型、約定或架構(如EJB)的java對象。理想的講,一個POJO是一個不受任何限制的java對象。

4、Entity

    實體bean,一般是用于ORM對象關系映射,一個實體映射成一張表,一般無業務邏輯代碼。

    負責将資料庫中的表記錄映射為記憶體中的Entity對象,事實上,建立一個EntityBean對象相當于建立一條記錄,删除一個EntityBean對象會同時從資料庫中删除對應記錄,修改一個Entity Bean時,容器會自動将Entity Bean的狀态和資料庫同步。

5、DTO

    資料傳輸對象(Data Transfer Object)。是一種設計模式之間傳輸資料的軟體應用系統。資料傳輸目标往往是資料通路對象從資料庫中檢索資料。

繼續閱讀