回覆列表
  • 1 # 使用者3304704496801

    在Java應用程式中的角色

    使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接. 其中有一些屬性及其getter setter方法的類,沒有業務邏輯,有時可以作為VO(value -object)或dto(Data Transform Object)來使用.當然,如果你有一個簡單的運算屬性也是可以的,但不允許有業務方法,也不能攜帶有connection之類的方法。

    POJO是Plain Old Java Objects的縮寫不錯,但是它通指沒有使用Entity Beans的普通java物件,可以把POJO作為支援業務邏輯的協助類。

    POJO有一些private的引數作為物件的屬性。然後針對每個引數定義了get和set方法作為訪問的介面。例如:

    public class User { private long id;  private String name;

    public void setId(long id }

    {  this. id = id;  }  public void setName(String name)

    { this. name=name;  }  public long getId()

    {  return id;  }  public String getName()

    {  return name;  }  } 

    POJO物件有時也被稱為Data物件,大量應用於表現現實中的物件。如果專案中使用了Hibernate框架,有一個關聯的xml檔案,使物件與資料庫中的表對應,物件的屬性與表的欄位對應。

    錯誤的認識:

    POJO是這樣的一種“純粹的”JavaBean,在它裡面除了JavaBean規範的方法和屬性沒有別的東西,即private屬性以及對這個屬性方法的public的get和set方法。我們會發現這樣的JavaBean很“單純”,它只能裝載資料,作為資料儲存的載體,而不具有業務邏輯處理的能力。

    真正的意思:

    POJO = "Plain Ordinary Java Object",是MartinFowler等發明的一個術語,用來表示普通的Java物件,不是JavaBean, EntityBean 或者 SessionBean。POJO不擔當任何特殊的角色,也不實現任何特殊的Java框架的介面如,EJB, JDBC等等。

    即POJO是一個簡單的普通的Java物件,它不包含業務邏輯或持久邏輯等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不繼承或不實現任何其它Java框架的類或介面。

  • 中秋節和大豐收的關聯?
  • 白居易的一生是怎麼樣的?