<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 自拍偷在线精品自拍偷99| 国产精品视频第一区二区三区| 欧洲精品99毛片免费高清观看| 步兵精品手机在线观看| 精品国产伦一区二区三区在线观看| 国内精品99亚洲免费高清| 精品国产AV色欲果冻传媒| 99热精品国产三级在线观看| 久久97久久97精品免视看秋霞| 国产成人午夜精品一区二区三区| 99精品在线视频观看| 99久久国产综合精品女同图片| 精品国产亚洲AV麻豆 | 91自产拍在线观看精品| 一本一本久久A久久综合精品| 日韩精品中文乱码在线观看| 亚洲一区二区三区精品视频| 国产成人精品999在线观看| 精品久久久无码中文字幕天天| 精品区2区3区4区产品乱码9| 日韩精品无码免费专区午夜不卡 | 国产精品美女久久福利网站| 无码人妻精品中文字幕| 国内精品综合久久久40p| 麻豆va在线精品免费播放| 九九99久久精品国产| 四虎国产精品高清在线观看| 99久久er热在这里只有精品99| 国产伦精品免编号公布| 国产精品麻豆成人AV电影艾秋| 1313午夜精品久久午夜片| 精品国产午夜福利在线观看| 国产91精品久久久久久| 国产精品模特hd在线| 在线观看一区二区精品视频| 久9热视频这里只精品18| 亚洲国产成人精品青青草原| 91精品啪在线观看国产18| 久久亚洲精品成人AV| 午夜DY888国产精品影院| 久久精品国产亚洲AV麻豆王友容|