Java對象 POJO和JavaBean的區別

轉載自https://www.jianshu.com/p/224489dfdec8java

這篇博客很通俗易懂的講明白了什麼是POJO,對於剛開始學開發作java項目的菜鳥來講,頗有幫助,網課老師是不會講這些概念,惟有本身整理了。程序員

POJO

"Plain Ordinary Java Object",簡單普通的java對象。主要用來指代那些沒有遵循特定的java對象模型,約定或者框架的對象。框架

POJO的內在含義是指那些:
有一些private的參數做爲對象的屬性,而後針對每個參數定義get和set方法訪問的接口。
沒有從任何類繼承、也沒有實現任何接口,更沒有被其它框架侵入的java對象。函數

public class BasicInfoVo {

private String orderId;

private Integer uid;


public String getOrderId() {
    return orderId;
}

public void setOrderId(String orderId) {
    this.orderId = orderId;
}

public Integer getUid() {
    return uid;
}

public void setUid(Integer uid) {
    this.uid = uid;
}}

JavaBean

JavaBean 是一種JAVA語言寫成的可重用組件。JavaBean符合必定規範編寫的Java類,不是一種技術,而是一種規範。你們針對這種規範,總結了不少開發技巧、工具函數。符合這種規範的類,能夠被其它的程序員或者框架使用。它的方法命名,構造及行爲必須符合特定的約定:工具

  1. 全部屬性爲private。ui

  2. 這個類必須有一個公共的缺省構造函數。便是提供無參數的構造器。this

  3. 這個類的屬性使用getter和setter來訪問,其餘方法聽從標準命名規範。spa

  4. 這個類應是可序列化的。實現serializable接口。code

由於這些要求主要是靠約定而不是靠實現接口,因此許多開發者把JavaBean看做聽從特定命名約定的POJO。對象

二者有什麼區別

  1. POJO實際上是比javabean更純淨的簡單類或接口。POJO嚴格地遵照簡單對象的概念,而一些JavaBean中每每會封裝一些簡單邏輯。

  2. POJO主要用於數據的臨時傳遞,它只能裝載數據, 做爲數據存儲的載體,而不具備業務邏輯處理的能力。

  3. Javabean雖然數據的獲取與POJO同樣,可是javabean當中能夠有其它的方法。

相關文章
相關標籤/搜索