溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用DTO怎么實現(xiàn) service與controller的值傳遞

發(fā)布時間:2021-02-22 17:09:08 來源:億速云 閱讀:929 作者:戴恩恩 欄目:開發(fā)技術(shù)

這篇文章主要介紹了使用DTO怎么實現(xiàn) service與controller的值傳遞,此處給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考價值,需要的朋友可以參考下:

概念

DTO( Data Transfer Object):

數(shù)據(jù)傳輸對象,Service 或 Manager 向外傳輸?shù)膶ο蟆?/p>

BO:business object 業(yè)務(wù)對象。主要作用是把業(yè)務(wù)邏輯封裝為一個對象。這個對象可以包括一個或多個其它的對象。比如一個簡歷,有教育經(jīng)歷、工作經(jīng)歷、社會關(guān)系等等。我們可以把教育經(jīng)歷對應(yīng)一個 PO,工作經(jīng)歷對應(yīng)一個 PO,社會關(guān)系對應(yīng)一個 PO。建立一個對應(yīng)簡歷的 BO 對象處理簡歷,每個 BO 包含這些 PO。這樣處理業(yè)務(wù)邏輯時,我們就可以針對 BO 去處理。

VO( View Object):

顯示層對象,通常是 Web 向模板渲染引擎層傳輸?shù)膶ο蟆?/p>

POJO( Plain Ordinary Java Object):

在阿里巴巴編程手冊中, POJO 專指只有setter/getter/toString的簡單類,包括DO/DTO/BO/VO等。

DTO 實例代碼

/**
 * 封裝執(zhí)行后結(jié)果
 */
public class PersonInfoExecution {
	// 結(jié)果狀態(tài)
	private int state;
	// 狀態(tài)標(biāo)識
	private String stateInfo;
	// 店鋪數(shù)量
	private int count;
	// 操作的personInfo(增刪改店鋪的時候用)
	private PersonInfo personInfo;
	// 獲取的personInfo列表(查詢店鋪列表的時候用)
	private List<PersonInfo> personInfoList;
	public PersonInfoExecution() {
	}
	// 失敗的構(gòu)造器
	public PersonInfoExecution(PersonInfoStateEnum stateEnum) {
		this.state = stateEnum.getState();
		this.stateInfo = stateEnum.getStateInfo();
	}
	// 成功的構(gòu)造器
	public PersonInfoExecution(PersonInfoStateEnum stateEnum,
			PersonInfo personInfo) {
		this.state = stateEnum.getState();
		this.stateInfo = stateEnum.getStateInfo();
		this.personInfo = personInfo;
	}
	// 成功的構(gòu)造器
	public PersonInfoExecution(PersonInfoStateEnum stateEnum,
			List<PersonInfo> personInfoList) {
		this.state = stateEnum.getState();
		this.stateInfo = stateEnum.getStateInfo();
		this.personInfoList = personInfoList;
	}
	
	//get set......
}

補充:springBoot框架中幾個層(dto、dao、service、controller)之間的關(guān)系

可以這樣理解:

controller層-----> service層(接口—>接口實現(xiàn)類) -----> dao層的.mapper文件 -----> 和mapper層里的.xml文件對應(yīng)

Model層 是數(shù)據(jù)層:

TableName是對數(shù)據(jù)表實體的映射;

Criteria傳輸前臺數(shù)據(jù)

DTO 傳輸類間數(shù)據(jù)

Mapper層 放置SQL查詢XML文件

Dao層 相當(dāng)于XML文件的抽象類

使用DTO怎么實現(xiàn) service與controller的值傳遞

使用DTO怎么實現(xiàn) service與controller的值傳遞

使用DTO怎么實現(xiàn) service與controller的值傳遞

使用DTO怎么實現(xiàn) service與controller的值傳遞

使用DTO怎么實現(xiàn) service與controller的值傳遞

使用DTO怎么實現(xiàn) service與controller的值傳遞

到此這篇關(guān)于使用DTO怎么實現(xiàn) service與controller的值傳遞的文章就介紹到這了,更多相關(guān){**}的內(nèi)容請搜索億速云以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持億速云!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI