POJO
"Plain Ordinary Java Object"钉答,簡單普通的java對象嗦哆。主要用來指代那些沒有遵循特定的java對象模型抱环,約定或者框架的對象贤惯。
POJO的內(nèi)在含義是指那些:
有一些private的參數(shù)作為對象的屬性,然后針對每一個參數(shù)定義get和set方法訪問的接口燕侠。
沒有從任何類繼承者祖、也沒有實(shí)現(xiàn)任何接口,更沒有被其它框架侵入的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符合一定規(guī)范編寫的Java類,不是一種技術(shù)茫舶,而是一種規(guī)范械巡。大家針對這種規(guī)范,總結(jié)了很多開發(fā)技巧饶氏、工具函數(shù)讥耗。符合這種規(guī)范的類,可以被其它的程序員或者框架使用嚷往。它的方法命名葛账,構(gòu)造及行為必須符合特定的約定:
所有屬性為private。
這個類必須有一個公共的缺省構(gòu)造函數(shù)皮仁。即是提供無參數(shù)的構(gòu)造器。
這個類的屬性使用getter和setter來訪問,其他方法遵從標(biāo)準(zhǔn)命名規(guī)范贷祈。
這個類應(yīng)是可序列化的趋急。實(shí)現(xiàn)serializable接口。
因?yàn)檫@些要求主要是靠約定而不是靠實(shí)現(xiàn)接口势誊,所以許多開發(fā)者把JavaBean看作遵從特定命名約定的POJO呜达。
public class UserInfo implements java.io.Serializable{
//實(shí)現(xiàn)serializable接口。
private static final long serialVersionUID = 1L;
private String name;
private int age;
//無參構(gòu)造器
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當(dāng)中可以有其它的方法
public void userInfoPrint(){
System.out.println("");
} }
兩者有什么區(qū)別
POJO其實(shí)是比javabean更純凈的簡單類或接口粟耻。POJO嚴(yán)格地遵守簡單對象的概念查近,而一些JavaBean中往往會封裝一些簡單邏輯。
POJO主要用于數(shù)據(jù)的臨時傳遞挤忙,它只能裝載數(shù)據(jù)霜威, 作為數(shù)據(jù)存儲的載體,而不具有業(yè)務(wù)邏輯處理的能力册烈。
Javabean雖然數(shù)據(jù)的獲取與POJO一樣戈泼,但是javabean當(dāng)中可以有其它的方法。