實體entity、JavaBean、Model、POJO、domain的區別


Java Bean、POJO、 Entity、 VO , 其實都是java 對象,只不過用於不同場合罷了。

按照 Spring MVC 分層結構:

JavaBean: 表示層 (Presentation Layer)

Entity: 業務層 (Service layer)

Dao: 數據訪問層 (data access layer)。

Entity接近原始數據,Model接近業務對象~
Entity:是專用於EF的對數據庫表的操作,
Model:是為頁面提供數據和數據校驗的,所以兩者可以並存
POJO:POJO是Plain OrdinaryJava Object的縮寫不錯,但是它通指沒有使用Entity Beans的普通java對象,可以把POJO作為支持業務邏輯的協助類。
domain:domain這個包國外很多項目經常用到,字面意思是域的意思。

 

POJO實質上可以理解為簡單的實體類,顧名思義POJO類的作用是方便 程序員使用數據庫中的數據表,對於廣大的程序員,可以很方便的將POJO類當做對象來進行使用,當然也是可以方便的調用其get,set方法。

 - JavaBean: 先說JavaBean,JavaBean更多的是一種規范,也即包含一組set和get方法的Java對象。

 

 - POJO: 普通的Java對象,對於屬性一般實現了JavaBean的標准,另外還可以包含一些簡單的業務邏輯(方法)。

 

 - PO: POJO在持久層的體現,對POJO持久化后就成了PO。PO更多的是跟數據庫設計層面相關,一般PO與數據表對應,一個PO就是對應數據表的一條記錄。


 - DAO: PO持久化到數據庫是要進行相關的數據庫操作的(CRUQ),這些對數據庫操作的方法會統一放到一個Java對象中,這就是DAO。

BO: POJO在業務層的體現,對於業務操作來說,更多的是從業務上來包裝對象,如一個User的BO,可能包括name, age, sex, privilege, group等,這些屬性在數據庫中可能會在多張表中,因為每一張表對應一個PO,而我們的BO需要這些PO組合起來(或說重新拼裝)才能成為業務上的一個完整對象。

 - VO(Value Object/View Object): POJO在表現層的體現。 當我們處理完數據時,需要展現時,這時傳遞到表現層的POJO就成了VO。它就是為了展現數據時用的。

 - DTO(Data Transfer Object): POJO在系統間傳遞時。當我們需要在兩個系統間傳遞數據時,一種方式就是將POJO序列化后傳遞,這個傳遞狀態的POJO就是DTO。

 - EJB(Enterprise JavaBean): 我認為它是一組”功能”JavaBean的集合。上面說了JavaBean是實現了一種規范的Java對象。這里說EJB是一組JavaBean,的意思是這一組JavaBean組合起來實現了某個企業組的業務邏輯。這里的一組JavaBean不是亂組合的,它們要滿足能實現某項業務功能的搭配。找個比方,對於一身穿着來說,包括一頂帽子,一件衣服,一條褲子,兩只鞋,這穿着就是EJB.
---------------------
作者:MrBlackWhite
來源:CSDN
原文:https://blog.csdn.net/u011665991/article/details/81201499
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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