POJO和javabean的區別

OJO(Plain Old Java Object)這個名字用來強調它是一個普通java對象,而不是一個特殊的對象。

2005年11月時,“POJO”主要用來指代那些沒用遵從特定的Java對象模型,約定或框架如EJB的Java對象.
理想地講,一個POJO是一個不受任何限制的Java對象(除了Java語言規範)。例如一個POJO不應該是
  1. 擴展預定的類,如       public class Foo extends javax.servlet.http.HttpServlet { ...
  2. 實現預定的接口,如   public class Bar implements javax.ejb.EntityBean { ...
  3. 包含預定的標註,如   @javax.ejb.Entity public class Baz{ ...
然後,因爲技術上的困難及其他原因,許多兼容POJO風格的軟件產品或框架事實上仍然要求使用預定的標註,譬如用於更方便的持久化。
 
JavaBean 是一種JAVA語言寫成的可重用組件。它的方法命名,構造及行爲必須符合特定的約定:
  1. 這個類必須有一個公共的缺省構造函數。
  2. 這個類的屬性使用getter和setter來訪問,其他方法遵從標準命名規範。
  3. 這個類應是可序列化的。 
因爲這些要求主要是靠約定而不是靠實現接口,所以許多開發者把JavaBean看作遵從特定命名約定的POJO。
 
簡而言之,當一個Pojo可序列化,有一個無參的構造函數,使用getter和setter方法來訪問屬性時,他就是一個JavaBean。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章