免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
各種概念POJO、JAVABEAN、DAO、DTO、PO、VO、BO、SSH、EJB

 發(fā)文前聲明:下面內(nèi)容是本人日常學(xué)習(xí)做的筆記,一些內(nèi)容來源于互聯(lián)網(wǎng)。

POJO
pure old java object
是普通java類,有一些private的參數(shù)作為對(duì)象的屬性,然后針對(duì)每一個(gè)參數(shù)定義get和set方法訪問的接口。

我看到這個(gè)定義,心里就有個(gè)疑問了,這個(gè)POJO跟JavaBean的定義怎么就這么像??jī)烧哂惺裁磪^(qū)別?
POJO其實(shí)是比javabean更純凈的簡(jiǎn)單類或接口。POJO嚴(yán)格地遵守簡(jiǎn)單對(duì)象的概念,而一些JavaBean中往往會(huì)封裝一些簡(jiǎn)單邏輯。

JavaBean是一種JAVA語(yǔ)言寫成的可重用組件。它的方法命名,構(gòu)造及行為必須符合特定的約定:
1.這個(gè)類必須有一個(gè)公共的缺省構(gòu)造函數(shù)。
2.這個(gè)類的屬性使用getter和setter來訪問,其他方法遵從標(biāo)準(zhǔn)命名規(guī)范。
3.這個(gè)類應(yīng)是可序列化的。
簡(jiǎn)而言之,當(dāng)一個(gè)POJO可序列化,有一個(gè)無參的構(gòu)造函數(shù),使用getter和setter方法來訪問屬性時(shí),它就是一個(gè)JavaBean。

可能有些人不明白什么是可序列化,可以看我另一篇博客http://my.oschina.net/pacoyang/blog/151649

DAO(data access objects
DAO是數(shù)據(jù)訪問對(duì)象,DAO一般有接口和該接口的實(shí)現(xiàn)類,接口用于規(guī)范實(shí)現(xiàn)類。實(shí)現(xiàn)類一般用于操作數(shù)據(jù)庫(kù),如對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改、添加、刪除等操作,一般直接調(diào)用公共類DAO。 

什么是DTO(data transfer object)、什么是VO(value object)、什么是PO(persistent object)?
我們通過DAOPOJO持久化為PO,用PO組裝出來VODTO。

總結(jié)下,我認(rèn)為一個(gè)對(duì)象究竟是什么O要看具體環(huán)境,在不同的層、不同的應(yīng)用場(chǎng)合,對(duì)象的身份也不一樣,而且對(duì)象身份的轉(zhuǎn)化也是很自然的。就像你對(duì)老婆來說就是老公,對(duì)父母來說就是子女。設(shè)計(jì)這些概念的初衷不是為了唬人而是為了更好的理解和處理各種邏輯,讓大家能更好的去用面向?qū)ο蟮姆绞教幚韱栴}。

比如:我們一張表有100個(gè)字段,那么對(duì)應(yīng)的PO就有100個(gè)屬性。但是我們界面上只要顯示10個(gè)字段,客戶端用WEBservice來獲取數(shù)據(jù),沒有必要把整個(gè)PO對(duì)象傳遞到客戶端,這時(shí)我們就可以用只有這10個(gè)屬性的DTO來傳遞結(jié)果到客戶端,這樣也不會(huì)暴露服務(wù)端表結(jié)構(gòu).到達(dá)客戶端以后,如果用這個(gè)對(duì)象來對(duì)應(yīng)界面顯示,那此時(shí)它的身份就轉(zhuǎn)為VO。

什么是BO(business object)?

BO: POJO在業(yè)務(wù)層的體現(xiàn),對(duì)于業(yè)務(wù)操作來說,更多的是從業(yè)務(wù)上來包裝對(duì)象,如一個(gè)User的BO,可能包括name, age, sex, privilege, group等,這些屬性在數(shù)據(jù)庫(kù)中可能會(huì)在多張表中,因?yàn)槊恳粡埍韺?duì)應(yīng)一個(gè)PO,而我們的BO需要這些PO組合起來(或說重新拼裝)才能成為業(yè)務(wù)上的一個(gè)完整對(duì)象。

EJB

EJB(Enterprise JavaBean): 我認(rèn)為它是一組"功能"JavaBean的集合。上面說了JavaBean是實(shí)現(xiàn)了一種規(guī)范的Java對(duì)象。這里說EJB是一組JavaBean,的意思是這一組JavaBean組合起來實(shí)現(xiàn)了某個(gè)企業(yè)組的業(yè)務(wù)邏輯。這里的一組JavaBean不是亂組合的,它們要滿足能實(shí)現(xiàn)某項(xiàng)業(yè)務(wù)功能的搭配。找個(gè)比方,對(duì)于一身穿著來說,包括一頂帽子,一件衣服,一條褲子,兩只鞋。這穿著就是EJB,其它的就是一個(gè)JavaBean

SSH與EJB區(qū)別

EJB是一種javabean的組合規(guī)范,SSH是3個(gè)框架jar包的組合。

EJB本身是JavaEE的規(guī)范由容器廠商負(fù)責(zé)實(shí)現(xiàn),也就是使用EJB,需要使用JavaEE服務(wù)器。而用SSH,直接用Web服務(wù)器, SSH中要解決的目標(biāo)和EJB是一致的。EJB是大型的,SSH是輕量級(jí)的。


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
vo,bo,po,dto,dao,pojo
java術(shù)語(yǔ)(PO/POJO/VO/BO/DAO/DTO)
java的幾種對(duì)象(PO,VO,DAO,BO,POJO,DTO)解釋
Java各種對(duì)象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的區(qū)分
PO BO VO DTO POJO DAO概念及其作用(附轉(zhuǎn)換圖)
【pojo與DTO的區(qū)別】百度作業(yè)幫
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服