java對象 POJO和JavaBean的區別


轉載至:https://blog.csdn.net/kobexiaol/article/details/78195856

"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類,不是一種技術,而是一種規范。大家針對這種規范,總結了很多開發技巧、工具函數。符合這種規范的類,可以被其它的程序員或者框架使用。它的方法命名,構造及行為必須符合特定的約定:

所有屬性為private。

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

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

這個類應是可序列化的。實現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("");  
}  }

兩者有什么區別
POJO其實是比javabean更純凈的簡單類或接口。POJO嚴格地遵守簡單對象的概念,而一些JavaBean中往往會封裝一些簡單邏輯。

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM