天天看點

JavaBean、pojo、ejb、vo、dto

JavaBean

JavaBean是一個Java對象,它是可序列化的,有一個空的構造函數,并允許使用getter和setter方法通路屬性。它将許多對象封裝到單個對象(bean)中,可以作為單個bean對象而不是多個單獨對象傳遞。JavaBean是公共Java類,但是為了編輯工具識别,需要滿足約定:

  1. 該類必須具有公共的預設構造函數, 栗子:public void name();無參數
  2. 屬性使用public 的get,set方法通路,也就是說設定成private,同時get,set方法與屬性名的大小也需要對應。例如屬性name,get方法就要寫成,public String getName(){},N大寫(這允許在架構内輕松自動檢查和更新bean狀态)。
  3. 需要序列化。這個是架構,工具跨平台反映狀态必須的。

由于這些需求主要表示為約定而不是通過實作接口,是以一些開發人員将JavaBeans視為遵循特定命名約定的Plain Old Java Objects。

POJO

關于Java對象,POJO是最初引入的一個術語;用于指定一個簡單的輕量級Java對象,而不是重量級EJB;

pojo就是普通的java對象,特别不是ejb;JavaBean是一個可序列化的POJO,具有無參數的構造函數,并允許使用getter和setter方法通路屬性。

随着使用POJO的設計變得越來越常用,已經出現了一些系統,這些系統為POJO提供了架構中使用的一些功能以及更多關于實際需要哪些功能區域的選擇。Hibernate和Spring就是例子。

EJB

在企業開發中,需要可伸縮的性能和事務、安全機制,這樣能保證企業系統平滑發展,而不是發展到一種規模重新更換一套軟體系統。 然後有提高了協定要求,就出現了Enterprise Bean。

VO(值對象)

Value Object或VO是一個值對象,例如java.lang.Integer持有值(是以為值對象)。

DTO(資料傳輸對象)

資料傳輸對象或DTO是EJB引入的(反)模式。而不是在EJB上執行很多遠端調用,這個想法是将資料封裝在可以通過網絡傳輸的值對象中:資料傳輸對象。資料傳輸對象(DTO),以前稱為值對象或VO,是用于在軟體應用程式子系統之間傳輸資料的設計模式。DTO通常與資料通路對象一起使用以從資料庫檢索資料。

用途
     - 解決實體bean不可序列化的問題
     - 隐含地定義了一個彙編階段
           

DTO和VO都是一樣的東西,大多數時候,他們遵循JavaBeans約定,是以也是JavaBeans。而且都是POJO。