<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內(nèi)容,歡迎關(guān)注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    當(dāng)前位置:首頁 科技百科 dozer java

    dozer java

    文檔

    dozer java

    Dozer是一個(gè)對象轉(zhuǎn)換工具。Dozer可以在JavaBean到JavaBean之間進(jìn)行遞歸數(shù)據(jù)復(fù)制,并且這些JavaBean可以是不同的復(fù)雜的類型。
    推薦度:
    導(dǎo)讀Dozer是一個(gè)對象轉(zhuǎn)換工具。Dozer可以在JavaBean到JavaBean之間進(jìn)行遞歸數(shù)據(jù)復(fù)制,并且這些JavaBean可以是不同的復(fù)雜的類型。

    什么是dozer java,讓我們一起了解一下?

    Dozer 是一個(gè)對象轉(zhuǎn)換工具。Dozer可以在JavaBean到JavaBean之間進(jìn)行遞歸數(shù)據(jù)復(fù)制,并且這些JavaBean可以是不同的復(fù)雜的類型。所有的mapping,Dozer將會很直接的將名稱相同的fields進(jìn)行復(fù)制,如果field名不同,或者有特別的對應(yīng)要求,則可以在xml中進(jìn)行定義。

    為什么要使用Dozer?

    因?yàn)榉治龆鄬蛹軜?gòu)的J2EE系統(tǒng),經(jīng)常存在JavaBean直接的拷貝。比如我們在DAO層,通過Do取得業(yè)務(wù)層需要的數(shù)據(jù),將這些數(shù)據(jù)傳遞給Service層的VO。Do與VO就存在典型的值拷貝。

    典型的解決方案就是手動拷貝,代碼中充斥大量Set 和Get方法,真正的業(yè)務(wù)被埋藏值與值的拷貝之中。

    另一種方案就是使用BeanUtil,但BeanUtil不夠很好的靈活性,又時(shí)候還不得不手動拷貝。Dozer可以靈活的對對象進(jìn)行轉(zhuǎn)換,且使用簡單。

    那么如何讓Dozer自動完成User類到ApiUserDestination類的映射?

    1、創(chuàng)建兩個(gè) Java Bean 類:

    public?class?User?{
    ????private?String?name;
    ????private?Integer?age;
    ????private?Date?birthday;
    ????//?省略?setter?和?getter?方法
    }
    public?class?UserApiDestinationObject?{
    ????private?String?name;
    ????private?String?age;
    ????public?String?birthday;
    ??//?重寫?toString?方法,方便測試
    ????@Override
    ????public?String?toString()?{
    ????????return?"UserApiDestinationObject{"?+
    ????????????????"name='"?+?name?+?'\''?+
    ????????????????",?age='"?+?age?+?'\''?+
    ????????????????",?birthday='"?+?birthday?+?'\''?+
    ????????????????'}';
    ????}
    ????//?省略?getter、setter?方法
    }

    2、測試:

    @Test
    public?void?apiTest()?{
    ????Mapper?mapper?=?new?DozerBeanMapper();
    ????User?user?=?new?User();
    ????user.setName("sid10t.");
    ????user.setAge(3);
    ????user.setBirthday(new?Date());
    ????UserApiDestinationObject?destinationObject?=?mapper.map(user,?UserApiDestinationObject.class);
    ????
    ????System.out.println(destinationObject);
    }

    3、輸出:

    UserApiDestinationObject{name='sid10t.',?age='3',?birthday='Tue?Mar?08?10:56:02?CST?2022'}

    此時(shí),Dozer 自動完成 User 類到 ApiUserDestination 類的映射。這是 Dozer 的默認(rèn)映射方式——隱式映射,Dozer 自動的將兩個(gè)實(shí)體類的相同屬性名的屬性進(jìn)行映射。如果兩個(gè)屬性的屬性名相同,但是類型不同,Dozer 會按照默認(rèn)的轉(zhuǎn)換規(guī)則進(jìn)行類型的轉(zhuǎn)換,而且不同修飾符的屬性也能正常進(jìn)行映射。

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    dozer java

    Dozer是一個(gè)對象轉(zhuǎn)換工具。Dozer可以在JavaBean到JavaBean之間進(jìn)行遞歸數(shù)據(jù)復(fù)制,并且這些JavaBean可以是不同的復(fù)雜的類型。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關(guān)推薦
    eclipse創(chuàng)建java arrays java awesome java 小程序和app的區(qū)別 enum java excel讀取java extend java extends java false是java關(guān)鍵字嗎 愛奇藝黃金會員和星鉆會員的區(qū)別 field java foreach java for循環(huán)java gateway java gdal java gdb java geohash java geojson java glue java golang調(diào)用java double java 微信怎么群發(fā)消息給多人 django java continue java 被刪的微信聊天記錄怎么找回來 compareto java cmake java class轉(zhuǎn)java character java callable java qq實(shí)名認(rèn)證怎么解除 calendar java cache java c#調(diào)用java接口 c#調(diào)用java brew java boolean java bitset java axis java asterisk java
    Top 亚洲精品人成在线观看| 亚洲色无码国产精品网站可下载| 91精品国产乱码在线观看| 精品亚洲成A人在线观看青青| 中文字幕精品无码久久久久久3D日动漫| 91麻豆精品国产91久久久久久| 亚洲国产精品一区二区第一页免 | 精品国产综合区久久久久久| 精品视频无码一区二区三区 | 97精品伊人久久大香线蕉app| 亚洲AV成人精品日韩一区18p| 亚洲综合一区二区国产精品| 久久国产综合精品五月天| 成人亚洲国产精品久久| 国产高清在线精品一区| 亚洲国产精品久久久久婷婷老年| 国产精品麻豆VA在线播放| 精品免费国产一区二区三区 | 无码精品人妻一区二区三区AV| 99爱在线精品免费观看| 99久久免费中文字幕精品| 亚洲乱码精品久久久久..| 国产999精品久久久久久| 精品性高朝久久久久久久| 无码国产精品一区二区免费 | 91久久精品无码一区二区毛片| 国语自产少妇精品视频| 国产色婷婷精品综合在线| 六月婷婷精品视频在线观看| 青青草国产三级精品三级| 亚洲精品456人成在线| 91精品国产成人网在线观看| 久热re这里只有精品视频| 精品国产一区二区三区免费| 国产在线精品一区免费香蕉| 国产va免费精品| 无码人妻精品一区二区蜜桃百度| 国产精品第二页在线播放| 成人精品一区二区激情| 亚洲精品无码少妇30P| 亚洲精品无码久久久久YW|