java pojo 是什么_什么是POJO
POJO(Plain Old Java Objects)簡(jiǎn)單的Java對(duì)象,實(shí)際就是普通JavaBeans,是為了避免和EJB混淆所創(chuàng)造的簡(jiǎn)稱。
在Java應(yīng)用程序中的角色
使用POJO名稱是為了避免和EJB混淆起來(lái), 而且簡(jiǎn)稱比較直接. 其中有一些屬性及其getter
setter方法的類,沒(méi)有業(yè)務(wù)邏輯,有時(shí)可以作為VO(value -object)或dto(Data Transform
Object)來(lái)使用.當(dāng)然,如果你有一個(gè)簡(jiǎn)單的運(yùn)算屬性也是可以的,但不允許有業(yè)務(wù)方法,也不能攜帶有connection之類的方法。
POJO是Plain Old Java Objects的縮寫(xiě)不錯(cuò),但是它通指沒(méi)有使用Entity Beans的普通java對(duì)象,可以把POJO作為支持業(yè)務(wù)邏輯的協(xié)助類。
POJO實(shí)質(zhì)上可以理解為簡(jiǎn)單的實(shí)體類,顧名思義POJO類的作用是方便程序員使用數(shù)據(jù)庫(kù)中的數(shù)據(jù)表,對(duì)于廣大的程
序員,可以很方便的將POJO類當(dāng)做對(duì)象來(lái)進(jìn)行使用,當(dāng)然也是可以方便的調(diào)用其get,set方法。POJO類也給我們?cè)趕truts框架中的配置帶來(lái)了
很大的方便。
POJO有一些private的參數(shù)作為對(duì)象的屬性。然后針對(duì)每個(gè)參數(shù)定義了get和set方法作為訪問(wèn)的接口。例如:
public class User {
private long id;
private String name;
public void setId(long id) {
this. id = id;
}
public void setName(String name) {
this. name=name;
}
public long getId() {
return id;
}
public String getName() {
return name;
}
}
POJO對(duì)象有時(shí)也被稱為Data對(duì)象,大量應(yīng)用于表現(xiàn)現(xiàn)實(shí)中的對(duì)象。如果項(xiàng)目中使用了Hibernate框架,有一個(gè)關(guān)聯(lián)的xml文件,使對(duì)象與數(shù)據(jù)庫(kù)中的表對(duì)應(yīng),對(duì)象的屬性與表的字段對(duì)應(yīng)。
錯(cuò)誤的認(rèn)識(shí):
POJO是這樣的一種“純粹的”JavaBean,在它里面除了JavaBean規(guī)范的方法和屬性沒(méi)有別的東西,即
private屬性以及對(duì)這個(gè)屬性方法的public的get和set方法。我們會(huì)發(fā)現(xiàn)這樣的JavaBean很“單純”,它只能裝載數(shù)據(jù),作為數(shù)據(jù)存儲(chǔ)
的載體,而不具有業(yè)務(wù)邏輯處理的能力。
真正的意思:
POJO = "Plain Ordinary Java
Object",是MartinFowler等發(fā)明的一個(gè)術(shù)語(yǔ),用來(lái)表示普通的Java對(duì)象,不是JavaBean, EntityBean 或者
SessionBean。POJO不擔(dān)當(dāng)任何特殊的角色,也不實(shí)現(xiàn)任何特殊的Java框架的接口如,EJB, JDBC等等。
即POJO是一個(gè)簡(jiǎn)單的普通的Java對(duì)象,它不包含業(yè)務(wù)邏輯或持久邏輯等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不繼承或不實(shí)現(xiàn)任何其它Java框架的類或接口。
下面是摘自Martin Fowler個(gè)人網(wǎng)站的一句話:
"We wondered why people were so against using regular
objects in their systems and concluded that it was because simple
objects lacked a fancy name. So we gave them one, and it's caught on
very nicely."--MartinFowler.com
我們疑惑為什么人們不喜歡在他們的系統(tǒng)中使用普通的對(duì)象,我們得到的結(jié)論是——普通的對(duì)象缺少一個(gè)響亮的名字,因此我們給它們起了一個(gè),并且取得了很好的效果?!狹artin Fowler
總結(jié)
以上是生活随笔為你收集整理的java pojo 是什么_什么是POJO的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微软薪资曝光:软件工程师年薪18.5万美
- 下一篇: java十六进制大小端转换_字节顺序