<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 国产美女久久精品香蕉69 | 国产精品视频一区二区三区| 99热这里只有精品国产动漫 | 精品日产卡一卡二卡国色天香| 国产精品喷水在线观看| 538精品在线视频| 国内精品国产成人国产三级| 岛国精品一区免费视频在线观看| 国产精品久久午夜夜伦鲁鲁| 久久久免费的精品| 国产精品臀控福利在线观看| 中文字幕久久精品无码| 国产麻豆精品原创| 国产成人精品AA毛片| 国产精品九九久久免费视频| 日韩精品无码一区二区三区 | 亚洲国产精品自在自线观看| 国产主播精品福利19禁vip| 精品91自产拍在线观看| 亚洲精品美女在线观看| 精品亚洲综合久久中文字幕| 国产精品入口麻豆免费观看| 国产suv精品一区二区33| 国产精品毛片a∨一区二区三区| 国内精品视频一区二区三区| 99热婷婷国产精品综合| 亚洲国产精品专区在线观看| 91精品国产免费入口| 一本一本久久a久久精品综合| 久久91精品国产91久久| 国内精品久久久久影院蜜芽| 国产精品对白刺激久久久| 国产精品一香蕉国产线看观看| 国产精品青青青高清在线 | 精品久久久久久久久中文字幕| 亚洲一区精品伊人久久伊人| 国产精品无码av天天爽| 久久精品国产精品亚洲毛片 | 99久久国语露脸精品国产| 五月天婷婷精品免费视频| 国产精品高清m3u8在线播放|