<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></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精品麻豆国产系列在线| 亚洲精品无码乱码成人| 国产成人一区二区精品非洲| 亚洲精品无码国产片| 91精品久久久久| 久久99国产精品99久久| 国产精品成人小电影在线观看| 国内精品一区二区三区最新| 91麻豆精品一二三区在线| 国产精品国产三级国产av品爱网| 精品久久国产一区二区三区香蕉| 日韩加勒比一本无码精品| 在线精品视频一区二区| 精品女同一区二区三区免费站| 亚洲国产精品热久久| 亚洲国产精品无码久久SM| 国产在线精品一区二区三区直播| 国产A∨国片精品一区二区| 国产精品久久久久影院免费| 国产精品视频一区| 亚洲最大天堂无码精品区| 777精品成人影院| 亚欧人成精品免费观看| 精品国产一区二区三区麻豆| 99re5精品视频在线观看| 99热成人精品国产免国语的| 久久亚洲精品中文字幕无码| 91精品国产综合久久婷婷| 久久精品无码一区二区日韩AV| 亚洲精品视频在线观看你懂的| 午夜三级国产精品理论三级 | 一区二区三区四区精品| 国产精品一区二区久久乐下载| 精品一区狼人国产在线| 精品久久精品久久| 国产美女精品三级在线观看| 国产日韩精品一区二区在线观看| 日韩精品视频免费观看|