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

java物件POJO和JavaBean的區別

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。

  2. 這個類必須有一個公共的預設建構函式。即是提供無引數的構造器。

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

  4. 這個類應是可序列化的。實現serializable介面。

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

public class UserInfo implements java.io.Serializable{  
 
//實現serializable介面。  
private static final long serialVersionUID = 1L;  
 
private String name;  
private int age;  
 
//無參構造器  
public UserInfo() {  
 
}  
 
public String getName() {  
    return name;  
}  
 
public void setName(String name) {  
    this.name = name;  
}  
 
public int getAge() {  
    return age;  
}  
 
public void setAge(int age) {  
    this.age = age;  
}  
 
//javabean當中可以有其它的方法  
public void userInfoPrint(){  
    System.out.println("");  
}  }

兩者有什麼區別

  1. POJO其實是比javabean更純淨的簡單類或介面。POJO嚴格地遵守簡單物件的概念,而一些JavaBean中往往會封裝一些簡單邏輯。

  2. POJO主要用於資料的臨時傳遞,它只能裝載資料, 作為資料儲存的載體,而不具有業務邏輯處理的能力。

  3. Javabean雖然資料的獲取與POJO一樣,但是javabean當中可以有其它的方法。

相關推薦

java物件 POJOJavaBean區別

一、POJO 1、定義 POJO(Plain Ordinary Java Object)簡單的Java物件,實際就是普通JavaBeans,是為了避免和EJB混淆所創造的簡稱。 使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接. 其中有一些屬性及其getter setter方法的類,沒有業

java物件POJOJavaBean區別

POJO "Plain Ordinary Java Object",簡單普通的java物件。主要用來指代那些沒有遵循特定的java物件模型,約定或者框架的物件。 POJO的內在含義是指那些: 有一些private的引數作為物件的屬性,然後針對每一個引數定義get和set方

POJOJavaBean區別

語言 構造器 CA 含義 由於 ali 角色 容器 pla 什麽是POJO POJO,全稱“Plain Ordinary Java Object”(也有說是“Pure Old Java Object”),從字面上翻譯為“簡單普通的Java對象”,但大家都使用“簡單java對

java中ArrayListLinkedList區別

插入 list 新的 查找 arr tro 基於 列表 時間復雜度 ArrayList和LinkedList最主要的區別是基於不同數據結構 ArrayList是基於動態數組的數據結構,LinkedList基於鏈表的數據結構,針對這點,從時間復雜度和空間復雜度來看主要區別:

java中equals==的區別

ML int .net 重寫 com span double str 文獻 (表達可能存在錯誤,需進一步完善) 1、首先搞清楚java裏面的數據類型包括: 基本數據類型和引用數據類型 2、數據類型 基本數據類型: byte,short(2 byte),int(4 byt

Java中ArrayListLinkedList區別(轉)

java linked .com -s lan font array href spa 具體詳情參考原博客: http://pengcqu.iteye.com/blog/502676Java中ArrayList和LinkedList區別(轉)

JVM記憶體結構、Java記憶體模型以及Java物件模型之間的區別

Java作為一種面向物件的,跨平臺語言,其物件、記憶體等一直是比較難的知識點。而且很多概念的名稱看起來又那麼相似,很多人會傻傻分不清楚。比如本文我們要討論的JVM記憶體結構、Java記憶體模型和Java物件模型,這就是三個截然不同的概念,但是很多人容易弄混。 可以這樣說,很多高階開發甚至都搞

Java中equals==的區別總結

1)對於==,如果作用於基本資料型別的變數,則直接比較其儲存的 “值”是否相等;如果作用於引用型別的變數,則比較的是所指向的物件的地址。 2)對於equals方法,equals方法是Object的,所有繼承了Object類的類都有該方法,注意:equals方法不能作用於基本資料型別的變數

Java中errorException區別

1、error—錯誤 : 是指程式無法處理的錯誤,表示應用程式執行時出現的重大錯誤。 例如jvm執行時出現的OutOfMemoryError以及Socket程式設計時出現的端口占用等程式無法處理的錯誤 2、Exception — 異常 :異常可分為執行時異常跟編譯異常) 1.執行時異常:

oi的java輸入hasNexthasNextLine區別

https://www.nowcoder.com/discuss/8050 比如一道oi題目的輸入是這樣的 7 15 9 5 採用java語言的話,有的同學這樣處理輸入輸出 1 2 3 4 5 Scanner in = new Scanner(

Intent傳遞物件——SerializableParcelable區別

Intent在不同的元件中傳遞物件資料的應用非常普遍。下面介紹兩種通過Intent傳遞物件的方法。 1、實現Serializable介面 2、實現Parcelable介面 為什麼要將物件序列化?  1、永久性儲存物件,儲存物件的位元組序列到本地檔案中;  2、用

Java中instanceofisInstance區別

instanceof: obj.instanceof(class) 判斷這個物件是不是這種型別, 1.一個物件是本身類的一個物件 2.一個物件是本身類父類(父類的父類)和介面(介面的介面)的一個物件 3.所有物件都是Object 4.凡是null有關的都是fals

Java中ComparableComparator區別小結

回到頂部一、Comparable簡介   Comparable是排序介面。若一個類實現了Comparable介面,就意味著該類支援排序。實現了Comparable介面的類的物件的列表或陣列可以通過Collections.sort或Arrays.sort進行自動排序。   此外,實現此介面的物件可以用作有序對映

java物件拷貝屬性複製使用

java實現物件拷貝和屬性複製的使用   對於某一屬性,即原始物件和目的物件的屬性名稱相同,就可以拷貝原始物件的屬性值到目的物件中。   注意屬性必須新增set,get方法,否則拷貝不成功   基本型別之間如果是屬性的型別不同,BeanUtils會嘗試去強制型別轉換,然

java關係操作符==equals()區別

    在java中包含的關係操作符有小於(<)、大於(>)、小於或等於(<=)、大於或等於(>=)、等於(==)以及不等於(!=)。 物件的等價性:     ==和!=適用所有物件,但是這兩個操作符通常在比較物件的時候會出問題,下面一個列子:

Java中ArrayListLinkedList區別(常見面試題)

一般大家都知道ArrayList和LinkedList的大致區別:     1.ArrayList是實現了基於動態陣列的資料結構,LinkedList基於連結串列的資料結構。     2.對於隨機訪問get和set,ArrayList覺得優於LinkedList,因為Lin

後端---Java中ArrayListLinkedList區別聯絡

ArrayList和LinkedList的區別和聯絡 在一個多月之前,我曾寫過一篇部落格想要迅速簡潔的瞭解Java中所有的集合型別(List、Set、Map),然後一個月多後的我不得已又抱起《Java核心卷I 》仔細研讀,這是為什麼呢??? 是因為“溫故而知新”還是因為“書讀百遍其

java介面getpost區別

1、Get 方法通過 URL 請求來傳遞使用者的資料,將表單內各欄位名稱與其內容,以成對的字串連線,置於 action 屬性所指程式的 url 後,如[url]http://www.mdm.com/test.asp?name=asd&password=sad[/ur

java物件複製屬性值複製工具類

兩個不同型別的物件中有欄位名稱不區分大小寫的情況下一樣,欄位含義一樣,需要組裝到另一個物件中去,然後就寫了一個這種工具類 我的型別比較特殊,老系統和新系統的物件命名大小寫命名不一致,並且欄位相同型別也有不一致的情況,所以自己寫了一個, 不是很完美基本能用。

Java中ArrayListLinkedList區別以及時間複雜度與空間複雜度

Java中ArrayList和LinkedList區別以及時間複雜度與空間複雜度? 一.時間複雜度 二.空間複雜度 三.總結    一般大家都知道ArrayList和LinkedList的大致區別: 1.ArrayList是實現了基於動態陣