最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

DTO 實(shí)現(xiàn) service 和 controller 之間值傳遞的操作

 更新時(shí)間:2021年02月22日 11:46:00   作者:延遲滿足  
這篇文章主要介紹了DTO 實(shí)現(xiàn) service 和 controller 之間值傳遞的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

概念

DTO( Data Transfer Object):

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

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

VO( View Object):

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

POJO( Plain Ordinary Java Object):

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

DTO 實(shí)例代碼

/**
 * 封裝執(zhí)行后結(jié)果
 */
public class PersonInfoExecution {
	// 結(jié)果狀態(tài)
	private int state;
	// 狀態(tài)標(biāo)識
	private String stateInfo;
	// 店鋪數(shù)量
	private int count;
	// 操作的personInfo(增刪改店鋪的時(shí)候用)
	private PersonInfo personInfo;
	// 獲取的personInfo列表(查詢店鋪列表的時(shí)候用)
	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......
}

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

可以這樣理解:

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

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

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

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

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

Mapper層 放置SQL查詢XML文件

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Springboot無法注入service問題

    Springboot無法注入service問題

    這篇文章主要介紹了Springboot無法注入service的問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java的優(yōu)先隊(duì)列PriorityQueue原理及實(shí)例分析

    Java的優(yōu)先隊(duì)列PriorityQueue原理及實(shí)例分析

    這篇文章主要介紹了Java的優(yōu)先隊(duì)列PriorityQueue原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 深入解析堆排序的算法思想及Java代碼的實(shí)現(xiàn)演示

    深入解析堆排序的算法思想及Java代碼的實(shí)現(xiàn)演示

    堆排序基于二叉堆結(jié)構(gòu)即完全二叉樹,可利用最大堆和最小堆的組建方式來進(jìn)行排序,這里就來深入解析堆排序的算法思想及Java代碼的實(shí)現(xiàn)演示
    2016-06-06
  • SpringBoot操作spark處理hdfs文件的操作方法

    SpringBoot操作spark處理hdfs文件的操作方法

    本文介紹了如何使用Spring Boot操作Spark處理HDFS文件,包括導(dǎo)入依賴、配置Spark信息、編寫Controller和Service處理地鐵數(shù)據(jù)、運(yùn)行項(xiàng)目以及觀察Spark和HDFS的狀態(tài),感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • MyBatis-Plus?updateById更新不了空字符串或null的解決方法

    MyBatis-Plus?updateById更新不了空字符串或null的解決方法

    本文主要介紹了MyBatis-Plus?updateById更新不了空字符串或null的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • JAVA各種加密與解密方式匯總

    JAVA各種加密與解密方式匯總

    在項(xiàng)目開發(fā)中,我們常需要用到加解密算法,本文主要介紹了JAVA各種加密與解密方式匯總,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • spring boot加載freemarker模板路徑的方法

    spring boot加載freemarker模板路徑的方法

    這篇文章主要介紹了spring boot加載freemarker模板路徑的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 深入了解Java中Synchronized的各種使用方法

    深入了解Java中Synchronized的各種使用方法

    在Java當(dāng)中synchronized關(guān)鍵字通常是用來標(biāo)記一個(gè)方法或者代碼塊。本文將通過示例為大家詳細(xì)介紹一下Synchronized的各種使用方法,需要的可以參考一下
    2022-08-08
  • SpringBoot使用自定義注解實(shí)現(xiàn)數(shù)據(jù)脫敏過程詳細(xì)解析

    SpringBoot使用自定義注解實(shí)現(xiàn)數(shù)據(jù)脫敏過程詳細(xì)解析

    這篇文章主要介紹了SpringBoot自定義注解之脫敏注解詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 深入理解Mybatis二級緩存

    深入理解Mybatis二級緩存

    與一級緩存相比,二級緩存范圍更大了一些,可以被多個(gè)SqlSession所共用。下面通過本文帶領(lǐng)大家一起學(xué)習(xí)mybatis二級緩存知識,一起看看吧
    2016-12-12

最新評論

五莲县| 巴彦淖尔市| 景东| 诸暨市| 会同县| 香港| 鄂尔多斯市| 英山县| 巫溪县| 霍州市| 颍上县| 东港市| 西峡县| 姚安县| 咸宁市| 南和县| 英超| 饶平县| 于都县| 呼图壁县| 南昌市| 简阳市| 达日县| 金寨县| 开远市| 淮南市| 石首市| 庄河市| 维西| 尚义县| 涞水县| 垣曲县| 织金县| 朝阳市| 波密县| 伊川县| 永和县| 舟曲县| 丹江口市| 瑞丽市| 龙游县|