亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot中Dozer的使用小結(jié)

 更新時間:2022年03月06日 12:10:21   作者:月月._.  
dozer是用來兩個對象之間屬性轉(zhuǎn)換的工具,有了這個工具之后,我們將一個對象的所有屬性值轉(zhuǎn)給另一個對象時,就不需要再去寫重復(fù)的set和get方法了,下面介紹下SpringBoot中Dozer的使用,感興趣的朋友一起看看吧

什么是Dozer?

Dozer是一種Java Bean到Java Bean的映射器,遞歸地將數(shù)據(jù)從一個對象復(fù)制到另一個對象,它是一個強(qiáng)大的,通用的,靈活的,可重用的和可配置的開源映射框架。
說白點(diǎn)就是dozer是一個能把實(shí)體和實(shí)體之間進(jìn)行轉(zhuǎn)換的工具.只要建立好映射關(guān)系.就像是ORM的數(shù)據(jù)庫和實(shí)體映射一樣。

dozer是用來兩個對象之間屬性轉(zhuǎn)換的工具,有了這個工具之后,我們將一個對象的所有屬性值轉(zhuǎn)給另一個對象時,就不需要再去寫重復(fù)的set和get方法了。

下面我們來學(xué)習(xí)一下dozer的使用

1.添加依賴

 <dependency>
            <groupId>net.sf.dozer</groupId>
            <artifactId>dozer</artifactId>
            <version>5.5.1</version>
        </dependency>

2.創(chuàng)建配置類

package com.youyou.util.utils;
 
import org.dozer.DozerBeanMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Arrays;
import java.util.List;
/**
 * 各個模塊的dozer配置文件
 */
@Configuration
public class DozerConfig {
    @Bean(name = "org.dozer.Mapper")
    public DozerBeanMapper dozer() {
        //這里是配置文件的路徑
        List<String> mappingFiles = Arrays.asList("dozer/dozer-mapping.xml");
        DozerBeanMapper dozerBean = new DozerBeanMapper();
        dozerBean.setMappingFiles(mappingFiles);
        return dozerBean;
    }
}

3.創(chuàng)建兩個POJO

創(chuàng)建DO

package com.youyou.address.entity;
 
import com.baomidou.mybatisplus.annotation.TableName;
import com.youyou.base.BaseEntity;
import lombok.Data;
/**
 * 數(shù)據(jù)庫實(shí)體,聯(lián)系人
 */
@Data
@TableName("TS_Contacter")
public class ContacterDO extends BaseEntity {
    /**
     * 姓名
     */
    private String name;
     * 性別(0,女;1,男)
    private String sex;
     * 年齡
    private Integer age ;
     * 電話
    private  String phone;
     * 地址
    private String location;
     * 刪除(0,未刪除;1,刪除)
    private String dflag ;
}

DO的父類

package com.youyou.base;
 
import lombok.Data;
import java.util.Date;
/**
 * 所有實(shí)體類的父類
 *
 * @author 劉朋
 * <br/>date 2018-11-02
 */
@Data
public abstract class BaseEntity {
    /**
     * 主鍵
     */
    private String id;
     * 創(chuàng)建時間
    private Date createTime;
}

創(chuàng)建VO

package com.youyou.address.vo;
 
import lombok.Data;
/**
 * 聯(lián)系人vo
 *
 * @author 劉朋
 * <br/>date 2018-11-05
 */
@Data
public class ContacterVO {
    /**
     * 姓名
     */
    private String name;
     * 性別(0,女;1,男)
    private String sex;
     * 年齡
    private Integer age ;
     * 電話
    private  String phone;
     * 地址
    private String location;
}

4.創(chuàng)建XML文件

<?xml version="1.0" encoding="UTF-8"?>
<mappings xmlns="http://dozer.sourceforge.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://dozer.sourceforge.net
          http://dozer.sourceforge.net/schema/beanmapping.xsd">
    <!--如果兩個類需要裝換的屬性名相同則不需要寫這個mapping-->
    <mapping>
        <class-a>com.youyou.address.entity.ContacterDO</class-a>
        <class-b>com.youyou.address.vo.ContacterVO</class-b>
    </mapping>
 
</mappings>

5.使用

package com.youyou.address.controller;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youyou.address.entity.ContacterDO;
import com.youyou.address.service.ContacterService;
import com.youyou.address.vo.ContacterVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.dozer.DozerBeanMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(description = "聯(lián)系人接口")
@RestController
@RequestMapping(value = "/contacter")
public class ContacterController {
    @Autowired
    private ContacterService service;
    private DozerBeanMapper dozerBeanMapper ;
    @ApiOperation(value = "新增")
    @GetMapping("/add")
    public ContacterVO add(ContacterVO contacterVO) {
        System.out.println("添加一個聯(lián)系人");
        //使用dozer進(jìn)行轉(zhuǎn)換
        ContacterDO contacterDO = dozerBeanMapper.map(contacterVO, ContacterDO.class);
        service.insertAutoKey(contacterDO);
        return contacterVO;
    }
}

搞定!

到此這篇關(guān)于SpringBoot中Dozer的使用的文章就介紹到這了,更多相關(guān)SpringBoot Dozer使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳細(xì)解讀Hibernate的緩存機(jī)制

    詳細(xì)解讀Hibernate的緩存機(jī)制

    這篇文章主要介紹了詳細(xì)解讀Hibernate的緩存機(jī)制,具有一定參考價值,這里分享給大家,供大家學(xué)習(xí)參閱。
    2017-10-10
  • Spring實(shí)例化bean的方式代碼詳解

    Spring實(shí)例化bean的方式代碼詳解

    這篇文章主要介紹了Spring實(shí)例化bean的方式代碼詳解,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Java實(shí)現(xiàn)簡易的洗牌和發(fā)牌功能

    Java實(shí)現(xiàn)簡易的洗牌和發(fā)牌功能

    本文主要介紹了Java實(shí)現(xiàn)簡易的洗牌和發(fā)牌功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • JAVA實(shí)現(xiàn)JSON后端向前端傳遞數(shù)據(jù)

    JAVA實(shí)現(xiàn)JSON后端向前端傳遞數(shù)據(jù)

    本篇文章主要介紹了JAVA實(shí)現(xiàn)JSON后端向前端傳遞數(shù)據(jù),這里整理了詳細(xì)的代碼,具有一定的參考價值,有需要的小伙伴可以參考下。
    2017-03-03
  • JDK1.6“新“特性Instrumentation之JavaAgent(推薦)

    JDK1.6“新“特性Instrumentation之JavaAgent(推薦)

    這篇文章主要介紹了JDK1.6“新“特性Instrumentation之JavaAgent,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 詳解Java中對象池的介紹與使用

    詳解Java中對象池的介紹與使用

    對象池,顧名思義就是一定數(shù)量的已經(jīng)創(chuàng)建好的對象(Object)的集合。這篇文章主要為大家介紹了Java中對象池的介紹與使用,感興趣的可以了解一下
    2023-02-02
  • 一篇文章帶你學(xué)會Spring?MVC表單標(biāo)簽

    一篇文章帶你學(xué)會Spring?MVC表單標(biāo)簽

    Spring MVC表單標(biāo)簽是網(wǎng)頁的可配置和可重復(fù)使用的構(gòu)建塊,下面這篇文章主要給大家介紹了如何通過一篇文章學(xué)會Spring?MVC表單標(biāo)簽的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Java?數(shù)據(jù)結(jié)構(gòu)與算法系列精講之漢諾塔

    Java?數(shù)據(jù)結(jié)構(gòu)與算法系列精講之漢諾塔

    漢諾塔是源于印度一個古老傳說的益智玩具。大梵天創(chuàng)造世界時做了三根石柱,在一根柱子上從下往上按大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,三根柱子之間一次只能移動一個圓盤
    2022-02-02
  • Java JDK 動態(tài)代理的使用方法示例

    Java JDK 動態(tài)代理的使用方法示例

    Java 動態(tài)代理機(jī)制以巧妙的方式近乎完美地實(shí)踐了代理模式的設(shè)計理念。下面這篇文章主要給大家分享了關(guān)于Java JDK 動態(tài)代理的使用方法示例,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Java實(shí)現(xiàn)定時備份文件

    Java實(shí)現(xiàn)定時備份文件

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)定時備份文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論