实体entity、JavaBean、Model、POJO、domain的区别
From: https://blog.csdn.net/u011665991/article/details/81201499
Java Bean、POJO、 Entity、 VO , 其實(shí)都是java 對(duì)象,只不過(guò)用于不同場(chǎng)合罷了。
按照 Spring MVC 分層結(jié)構(gòu):
JavaBean: 表示層 (Presentation Layer)
Entity: 業(yè)務(wù)層 (Service layer)
Dao: 數(shù)據(jù)訪問(wèn)層 (data access layer)。
Entity接近原始數(shù)據(jù),Model接近業(yè)務(wù)對(duì)象~
Entity:是專用于EF的對(duì)數(shù)據(jù)庫(kù)表的操作,
Model:是為頁(yè)面提供數(shù)據(jù)和數(shù)據(jù)校驗(yàn)的,所以兩者可以并存
POJO:POJO是Plain OrdinaryJava Object的縮寫不錯(cuò),但是它通指沒(méi)有使用Entity Beans的普通java對(duì)象,可以把POJO作為支持業(yè)務(wù)邏輯的協(xié)助類。
domain:domain這個(gè)包國(guó)外很多項(xiàng)目經(jīng)常用到,字面意思是域的意思。
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方法。
- JavaBean: 先說(shuō)JavaBean,JavaBean更多的是一種規(guī)范,也即包含一組set和get方法的Java對(duì)象。
- POJO: 普通的Java對(duì)象,對(duì)于屬性一般實(shí)現(xiàn)了JavaBean的標(biāo)準(zhǔn),另外還可以包含一些簡(jiǎn)單的業(yè)務(wù)邏輯(方法)。
- PO: POJO在持久層的體現(xiàn),對(duì)POJO持久化后就成了PO。PO更多的是跟數(shù)據(jù)庫(kù)設(shè)計(jì)層面相關(guān),一般PO與數(shù)據(jù)表對(duì)應(yīng),一個(gè)PO就是對(duì)應(yīng)數(shù)據(jù)表的一條記錄。
- DAO: PO持久化到數(shù)據(jù)庫(kù)是要進(jìn)行相關(guān)的數(shù)據(jù)庫(kù)操作的(CRUQ),這些對(duì)數(shù)據(jù)庫(kù)操作的方法會(huì)統(tǒng)一放到一個(gè)Java對(duì)象中,這就是DAO。
??? BO: POJO在業(yè)務(wù)層的體現(xiàn),對(duì)于業(yè)務(wù)操作來(lái)說(shuō),更多的是從業(yè)務(wù)上來(lái)包裝對(duì)象,如一個(gè)User的BO,可能包括name, age, sex, privilege, group等,這些屬性在數(shù)據(jù)庫(kù)中可能會(huì)在多張表中,因?yàn)槊恳粡埍韺?duì)應(yīng)一個(gè)PO,而我們的BO需要這些PO組合起來(lái)(或說(shuō)重新拼裝)才能成為業(yè)務(wù)上的一個(gè)完整對(duì)象。
??? - VO(Value Object/View Object): POJO在表現(xiàn)層的體現(xiàn)。 當(dāng)我們處理完數(shù)據(jù)時(shí),需要展現(xiàn)時(shí),這時(shí)傳遞到表現(xiàn)層的POJO就成了VO。它就是為了展現(xiàn)數(shù)據(jù)時(shí)用的。
??? - DTO(Data Transfer Object): POJO在系統(tǒng)間傳遞時(shí)。當(dāng)我們需要在兩個(gè)系統(tǒng)間傳遞數(shù)據(jù)時(shí),一種方式就是將POJO序列化后傳遞,這個(gè)傳遞狀態(tài)的POJO就是DTO。
??? - EJB(Enterprise JavaBean): 我認(rèn)為它是一組”功能”JavaBean的集合。上面說(shuō)了JavaBean是實(shí)現(xiàn)了一種規(guī)范的Java對(duì)象。這里說(shuō)EJB是一組JavaBean,的意思是這一組JavaBean組合起來(lái)實(shí)現(xiàn)了某個(gè)企業(yè)組的業(yè)務(wù)邏輯。這里的一組JavaBean不是亂組合的,它們要滿足能實(shí)現(xiàn)某項(xiàng)業(yè)務(wù)功能的搭配。找個(gè)比方,對(duì)于一身穿著來(lái)說(shuō),包括一頂帽子,一件衣服,一條褲子,兩只鞋,這穿著就是EJB.
?
總結(jié)
以上是生活随笔為你收集整理的实体entity、JavaBean、Model、POJO、domain的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++ WindowsAPI 教程:Me
- 下一篇: java实习日志_Java毕业生校外实习