天天看點

關于POJO和JavaBean

POJO 和JavaBean是我們常見的兩個關鍵字,一般容易混淆,POJO全稱是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻譯成:普通Java類,具有一部分getter/setter方法的那種類就可以稱作POJO,但是JavaBean則比 POJO複雜很多, Java Bean 是可複用的元件,對 Java Bean 并沒有嚴格的規範,理論上講,任何一個 Java 類都可以是一個 Bean 。但通常情況下,由于 Java Bean 是被容器所建立(如 Tomcat) 的,是以 Java Bean 應具有一個無參的構造器,另外,通常 Java Bean 還要實作 Serializable 接口用于實作 Bean 的持久性。 Java Bean 是不能被跨程序通路的。

JavaBean是一種元件技術,就像你做了一個扳子,而這個扳子會在很多地方被拿去用,這個扳子也提供多種功能(你可以拿這個扳子扳、錘、撬等等),而這個扳子就是一個元件。

一般在web應用程式中建立一個資料庫的映射對象時,我們隻能稱它為POJO。

POJO(Plain Old Java Object)這個名字用來強調它是一個普通java對象,而不是一個特殊的對象。“POJO”主要用來指代那些沒用遵從特定的Java對象模型,約定或架構如EJB的Java對象。理想地講,一個POJO是一個不受任何限制的Java對象(除了Java語言規範)。例如一個POJO不應該是

  1. 擴充預定的類
  2. 實作預定的接口
  3. 包含預定的标注

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

  1. 這個類必須有一個公共的預設構造函數。
  2. 這個類的屬性使用getter和setter來通路,其他方法遵從标準命名規範。
  3. 這個類應是可序列化的。

因為這些要求主要是靠約定而不是靠實作接口,是以許多開發者把JavaBean看作遵從特定命名約定的POJO。

簡而言之,當一個Pojo可序列化,有一個無參的構造函數,使用getter和setter方法來通路屬性時,他就是一個JavaBean。

對于java bean,就是一個java模型元件,他為使用java類提供了一種标準的格式,在使用者程式和可視化管理工具中可以自動獲得這種具有标準格式的類的資訊,并能夠建立和管理這些類。 

java bean 可以使應用程式更加面向對象,可以把資料封裝起來,把應用的業務邏輯和顯示邏輯分離開,降低了開發的複雜程度和維護成本。

JavaBean 是一種JAVA語言寫成的可重用元件。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數的構造器。JavaBeans 通過提供符合一緻性設計模式的公共方法将内部域暴露稱為屬性。衆所周知,屬性名稱符合這種模式,其他Java 類可以通過自省機制發現和操作這些JavaBean 屬性。程式設計的角度,也就是最基本的實作了get跟set方法的類。

繼續閱讀