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)。是一種設計模式之間傳輸資料的軟體應用系統。資料傳輸目标往往是資料通路對象從資料庫中檢索資料。