1. 程式人生 > >POJO和JavaBean的區別

POJO和JavaBean的區別

語言 構造器 CA 含義 由於 ali 角色 容器 pla

什麽是POJO

POJO,全稱“Plain Ordinary Java Object”(也有說是“Pure Old Java Object”),從字面上翻譯為“簡單普通的Java對象”,但大家都使用“簡單java對象”來稱呼它。

POJO的內在含義是指那些沒有從任何類繼承、也沒有實現任何接口,更沒有被其它框架侵入的java對象。

POJO和JavaBean的比較

POJO的格式用於數據的臨時傳遞,它只能裝載數據,作為數據存儲的載體,而不具有業務邏輯處理的能力。

而JavaBean雖然數據的獲取與POJO一樣,但是JavaBean當中可以有其它的方法。

JavaBean 是一種JAVA語言寫成的可重用組件。它的方法命名,構造及行為必須符合特定的約定:

1.這個類必須有一個公共的缺省構造函數。

2.這個類的屬性使用getter和setter來訪問,其他方法遵從標準命名規範。

3.這個類應是可序列化的。

詳解:

使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接。 其中有一些屬性及其getter、setter方法的類,沒有業務邏輯,有時可以作為VO(value -object)或dto(Data Transform Object)來使用。當然,如果你有一個簡單的運算屬性也是可以的,但不允許有業務方法,也不能攜帶有connection之類的方法。 POJO對象有時也被稱為Data對象,大量應用於表現現實中的對象。如果項目中使用了Hibernate框架,有一個關聯的xml文件,使對象與數據庫中的表對應,對象的屬性與表中的字段相對應。 POJO 和JavaBean
是我們常見的兩個關鍵字,一般容易混淆,POJO全稱是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻譯成:普通Java類,具有一部分getter/setter方法的那種類就可以稱作POJO,但是JavaBean則比 POJO復雜很多, JavaBean 是可復用的組件,對 JavaBean 並沒有嚴格的規範,理論上講,任何一個 Java 類都可以是一個 Bean 。但通常情況下,由於 JavaBean 是被容器所創建(如 Tomcat) 的,所以 JavaBean 應具有一個無參的構造器,另外,通常 JavaBean 還要實現 Serializable 接口用於實現 Bean 的序列化。 JavaBean 是不能被跨進程訪問的。 JavaBean是一種組件技術,就好像你做了一個扳子,而這個扳子會在很多地方被拿去用,這個扳子也提供多種功能(你可以拿這個扳子扳、錘、撬等等),而這個扳子就是一個組件。一般在web應用程序中建立一個數據庫的映射對象時,我們只能稱它為POJO。
POJO(Plain Ordinary Java Object)這個名字用來強調它是一個普通java對象,而不是一個特殊的對象,其主要用來指代那些沒有遵從特定的Java對象模型、約定或框架(如EJB)的Java對象。理想地講,一個POJO是一個不受任何限制的Java對象(除了Java語言規範)。POJO是一個簡單的普通的Java對象,它不包含業務邏輯或持久邏輯等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不繼承或不實現任何其它Java框架的類或接口。

POJO和JavaBean的區別