1. 程式人生 > >Java各種物件(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的區分

Java各種物件(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的區分

PO:持久物件 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每個屬性基本上都對應資料庫表裡面的某個欄位。完全是一個符合Java Bean規範的純Java物件,沒有增加別的屬性和方法。持久物件是由insert資料庫建立,由資料庫delete刪除的。基本上持久物件生命週期和資料庫密切相關。

VO:值物件(Value Object),通常用於業務層之間的資料傳遞,和PO一樣也是僅僅包含資料而已。但應是抽象出的業務物件,可以和表對應,也可以不,這根據業務的需要。

表現層物件(View Object),主要對應展示介面顯示的資料物件,用一個VO物件來封裝整個介面展示所需要的物件資料。

BO:業務物件層的縮寫(Business Object),封裝業務邏輯的java物件,通過呼叫DAO方法,結合PO,VO進行業務操作。具體可以看網上的一個例子:

比如一個簡歷,有教育經歷、工作經歷、社會關係等等。
我們可以把教育經歷對應一個PO,工作經歷對應一個PO,社會關係對應一個PO。
建立一個對應簡歷的BO物件處理簡歷,每個BO包含這些PO。
這樣處理業務邏輯時,我們就可以針對BO去處理。

DTO:資料傳輸物件(Data Transfer Object),是一種設計模式之間傳輸資料的軟體應用系統。資料傳輸目標往往是資料訪問物件從資料庫中檢索資料。資料傳輸物件與資料互動物件或資料訪問物件之間的差異是一個以不具有任何行為除了儲存和檢索的資料(訪問和存取器)。簡單來說,當我們需要一個物件10個欄位的內容,但這個物件總共有20個欄位,我們不需要把整個PO物件全部欄位傳輸到客戶端,而是可以用DTO重新封裝,傳遞到客戶端。此時,如果這個物件用來對應介面的展現,就叫VO。

JavaBean:一種可重用元件,即“一次性編寫,任何地方執行,任何地方重用”。滿足三個條件①類必須是具體的和公共的②具有無參構造器③提供一致性設計模式的公共方法將內部域暴露成員屬性。

主要用途:可以用在 功能、處理、值、資料庫訪問和JSP中任何可以用Java程式碼創造的物件。

有兩種:一種是有使用者介面(UI,User Interface)的JavaBean;還有一種是沒有使用者介面,主要負責處理事務(如資料運算,操縱資料庫)的JavaBean。JSP通常訪問的是後一種JavaBean。

分類:通常有Session bean,Entity bean,MessageDrivenBean三大類

——Session bean會話構件,是短暫的物件,執行在伺服器上,並執行一些應用邏輯處理,它由客戶端應用程式建立,其資料需要自己來管理。分為無狀態和有狀態兩種。

——Entity bean實體構件,是持久物件,可以被其他物件呼叫。在建立時指定一個唯一標示的標識,並允許客戶程式,根據實體bean標識來定位beans例項。多個實體可以併發訪問實體bean,事務間的協調由容器來完成。

——MessageDriven Bean訊息構件,是專門用來處理JMS(Java Message System)訊息的規範(EIB2.0)。JMS是一種與廠商無關的API,用來訪問訊息收發系統,並提供了與廠商無關的訪問方法,以此來訪問訊息收發服務。JMS客戶機可以用來發送訊息而不必等待迴應。

JavaBeans:JavaBeans 從狹義來說,指的是 JavaBeans 規範也就是位於 java.beans 包中的一組 API。從廣義上來說,JavaBeans 指的是 API 集合,比如 Enterprise JavaBeans。 

POJO:POJO(Plain Ordinary Java Object)簡單的Java物件,實際就是普通JavaBeans,是為了避免和EJB混淆所創造的簡稱。通指沒有使用Entity Beans的普通java物件,可以把POJO作為支援業務邏輯的協助類。

POJO實質上可以理解為簡單的實體類,顧名思義POJO類的作用是方便程式設計師使用資料庫中的資料表,對於廣大的程式設計師,可以很方便的將POJO類當做物件來進行使用,當然也是可以方便的呼叫其get,set方法。POJO類也給我們在struts框架中的配置帶來了很大的方便。

一個POJO持久化以後就是PO

直接用它傳遞、傳遞過程中就是DTO
直接用來對應表示層就是VO

DAO: 資料訪問物件是第一個面向物件的資料庫介面,是一個數據訪問介面(Data Access Object)。它可以把POJO持久化為PO,用PO組裝出來VO、DTO。

DAO模式是標準的J2EE設計模式之一.開發人員使用這個模式把底層的資料訪問操作和上層的商務邏輯分開.一個典型的DAO實現有下列幾個元件:

1. 一個DAO工廠類;

2. 一個DAO介面;

3. 一個實現DAO介面的具體類;

4. 資料傳遞物件(有些時候叫做值物件).

具體的DAO類包含了從特定的資料來源訪問資料的邏輯,一般一個DAO類和一張表對應,每個操作要和事務關聯。

相關推薦

Java各種物件PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans區分

PO:持久物件 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每個屬性基本上都對應資料庫表裡面的某個欄位。完全是一個符合Java Bean規範的純Java物件,

Java各種對象PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans區分

數據庫訪問 ans 進行 nbsp 字段 數據表 log 系統 之一 PO:持久對象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每個屬性基本上都

Java各種物件PO,BO區分

  PO:持久物件 (persistent object)。   PO是在Object/Relation Mapping框架中的Entity,它的每個屬性基本上都對應資料庫表裡面的某個欄位。完全是一個符合Java Bean規範的純Java物件,沒有增加別的屬性和方法。持久物件是由insert

PO BO VO DTO POJO DAO概念及其作用附轉換圖

blog 數據 ges http 作用 分享 dao 記錄 logs po 數據庫中的一條記錄。 do PO —>DO—>DTO—>VOPO BO VO DTO POJO DAO概念及其作用(附轉換圖)

PO BO VO DTO POJO DAO DO

縮寫的含義 PO 是 Persistant Object 的縮寫,用於表示資料庫中的一條記錄對映成的 java 物件。PO 僅僅用於表示資料,沒有任何資料操作。通常遵守 Java Bean 的規範,擁有 getter/setter 方法。 DAO 是 Data Acc

PO BO VO DTO POJO DAO概念及其作用(轉

PO: persistant object持久物件 最形象的理解就是一個PO就是資料庫中的一條記錄。 好處是可以把一條記錄作為一個物件處理,可以方便的轉為其它物件。 ------------------------------------------------------

PO BO VO DTO POJO DAO概念及其作用

J2EE開發中大量的專業縮略語很是讓人迷惑, 比如這些: PO VO BO DTO POJO DAO. PO:persistant object持久物件 最形象的理解就是一個PO就是資料庫中的一條記錄。 好處是可以把一條記錄作為一個物件處理,可以方便的轉

JavaBean, EntityBean, POJO, PO, BO,VO,DTO,DAO 區別

先記一部分 這個類是共有類(public),並且必須有一個公共的預設建構函式。這個類的屬性使用getter和setter來訪問,其他方法遵從標準命名規範。(JavaBean是一個定義了系列 get<Name> 和 set<Name> 方法的類,通過get set 方法對暴露成員變數

Java的幾種物件PO,VO,DAO,BO,DTOPOJO

 一、PO:persistant object持久物件,可以看成是與資料庫中的表相對映的java物件。最簡單的PO就是對應資料庫中某個表中的一條記錄,多個記錄可以用PO的集合。PO中應該不包含任何對資料庫的操作。   二、VO:value object值物件。通常用於業務層之

POJO PO BO DO DTO VO 區別與聯絡

POJO PO BO DO DTO VO 概述 縮寫 全稱 中文 功能 說明 POJO plain ordinary java object

Java面向物件—— 繼承

標籤: java 繼承 抽象類 this super abstract 概述 多個類中存在相同的屬性和行為的時候,將這些內容抽取到單獨一個類中,那麼多個類無需在定義這些屬性和行為,只要繼承那個類即可。 多個類可以稱為子類,單獨這個類稱為父類或者超類。 子類可以直接訪問父類中的菲斯有的屬性和

利用遞迴遍歷獲取Java複雜物件物件的屬性仍是物件//list/map中指定屬性的值

本示例中又三個物件巢狀: UserBO:複雜物件,其中一個屬性是List<AddressBO>或者Map<AddressBO> AddressBO:其中一個屬性是SubAddressBO SubAddressBO:包含目標屬性addrId,且是string型別,查

Java面向物件OOP概念

Java 面向物件 OOPs(面向物件程式設計系統) 物件 類 繼承 多型性 抽象 封裝 面向物件程式語言和基於物件的程式語言有什麼區別? 始祖:simula第一種面嚮物件語言。 始

java:面向物件多型的弊端

/* * 多型的好處和弊端: *弊端: *不轉型的話,不能使用子類特有的屬性和行為 * */ class Demo_SuperMan { public static void main(Stri

java:面向物件abstract不能與那些關鍵字同時使用注意事項

/* * abstract不能和那些關鍵字共存? * * abstract和static * * 被abstract修飾的方法沒有方法體 * * 被static修飾的方法可以用類名.呼叫,但

java面向物件

面向物件 java是面向物件的程式設計語言,java提供了定義 類 成員變數 方法的基本功能 java也支援面向物件的三大特徵:封裝,繼承,多型。 java提供了 private protected

Java面向物件

1、介面 1.1、概述 抽象類是從多個類中抽象出來的模板,如果將這種抽象進行得更徹底,則可以提煉出一種更加特殊的“抽象類”——介面(inteface)。 Java 9對介面進行了改進,允許在介面中定義預設方法和類方法,預設方法和類方法都可以提供方法實現,Jav

java面向物件

Java 的包裝類 包裝類:可以把8個基本型別的值包裝成物件使用 自動拆箱:包裝類物件賦給對應的基本型別變數 自動裝箱:基本型別變數賦給對應的包裝類引用變數 基本資料和對應的包裝類關係: 基本資料型別

java面向物件推薦看一本書java程式設計思想

面向物件 回顧 ​ 今天任務 1. 面向物件 2. 面向過程 3. 類的建立 4. 物件的建立 5. 物件建立記憶體分析 6. 構造方法 7. this關鍵字 教學目標 1. 掌握面向物件思想 2. 掌握類和物件的建立 3. 掌握物件建立記憶體分析 4. 掌握構造

java 面向物件圖書管理系統1

複習: 1、建構函式    a、建構函式的作用,用來建立物件,用new 關鍵字呼叫。還可以給這個物件的屬性賦值。    b、有引數的建構函式和無引數的建構函式。    c、無引數的建構函式預設 就有,如果你定義了有引數的建構函式,那麼預設無引數的建構函式       就失效