<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    新的起點(diǎn) 新的開(kāi)始

    快樂(lè)生活 !

    JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧

       分析多層架構(gòu)的JEE系統(tǒng),經(jīng)常存在JavaBean直接的拷貝。比如在DAO層,我們通過(guò)POJO取得業(yè)務(wù)層需要的數(shù)據(jù),將這些數(shù)據(jù)傳遞給Service層的VO。POJO與VO就存在典型的值拷貝。還有就是Webservice,客戶端調(diào)用Webservice,也存在將大量返回值映射到相應(yīng)的JavaBean里。呵呵 我們項(xiàng)目就是這個(gè)需求。
        典型的解決方案就是手動(dòng)拷貝,弊端很明顯,代碼中充斥大量Set Get方法,真正的業(yè)務(wù)沒(méi)埋藏與值的拷貝之中。另一種方案就是使用BeanUtil,但BeanUtil不夠很好的靈活性,又時(shí)候還不得不手動(dòng)拷貝。
         對(duì)于這種重復(fù)沒(méi)有實(shí)際意義的拷貝難道沒(méi)有終結(jié)解決方案嗎?! Dozer 一把JavaBean利器。(http://dozer.sourceforge.net/)

        什么是Dozer?
        看看官方的定義:
     Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to 
    another. Typically, these Java Beans will be of different complex types.

    Dozer supports simple property mapping, complextype mapping, bi
    -directional mapping, implicitexplicit mapping, as well as recursive
    mapping.This includes mapping collection attributes that also need mapping at the element level.
        注意:Dozer支持簡(jiǎn)單類(lèi)型 復(fù)雜類(lèi)型的雙向遞歸映射。
        
        如何使用呢? 類(lèi)似BeanUtil 很簡(jiǎn)單,如果兩個(gè)javaBean之間,屬性名相同,類(lèi)型為基本類(lèi)型,那么下面代碼就OK了,基本沒(méi)有學(xué)習(xí)曲線。
       

    Mapper mapper = new DozerBeanMapper();

    DestinationObject destObject 
    = mapper.map(sourceObject, DestinationObject.class);
                 or
    DestinationObject destObject 
    = new DestinationObject();
    mapper.map(sourceObject, destObject);
       在后續(xù)的的內(nèi)容中,我會(huì)介紹如何配置復(fù)雜的Map,如何自定義Map,如何獲得Map的統(tǒng)計(jì)數(shù)據(jù)等。JavaBean之間拷貝利器-Dozer(2)  映射數(shù)據(jù)類(lèi)型不一致,級(jí)聯(lián)映射與自定義映射

      

    posted on 2009-04-12 22:11 advincenting 閱讀(3171) 評(píng)論(10)  編輯  收藏

    評(píng)論

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧 2009-04-12 23:11 CoderDream

    不錯(cuò),有空研究一下!  回復(fù)  更多評(píng)論   

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧[未登錄](méi) 2009-04-13 08:35 abc

    好東西,我以前也為這個(gè)犯愁呢!  回復(fù)  更多評(píng)論   

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧 2009-04-13 10:05 rmn190

    如果sourceObject和DestinationObject里屬性名不同或大多屬性性相同而只有幾個(gè)不同,Dozer能不能支持針對(duì)這樣的問(wèn)題的問(wèn)題?  回復(fù)  更多評(píng)論   

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧 2009-04-13 11:02 cnodin

    我有點(diǎn)奇怪,實(shí)體用一個(gè)不就好了嗎?為啥用POJO,又要用VO呢?  回復(fù)  更多評(píng)論   

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧[未登錄](méi) 2009-04-13 13:35 rex

    dozer效率比較慢的  回復(fù)  更多評(píng)論   

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧 2009-04-13 13:51 隔葉黃鶯

    好的,收藏一下  回復(fù)  更多評(píng)論   

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧 2009-04-13 22:19

    BeanUtil這個(gè)東西不適合用在Proxy出來(lái)的對(duì)象
    Dozer可以

    這個(gè)開(kāi)源組件很靈活,如果屬性名相同,基本不需要配置,
    如果兩個(gè)類(lèi)的屬性名不同,可能就需要一些配置。

    總體來(lái)說(shuō),很不錯(cuò)的
    性能上也慢不到哪里去。  回復(fù)  更多評(píng)論   

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧 2009-04-13 22:21

    我有點(diǎn)奇怪,實(shí)體用一個(gè)不就好了嗎?為啥用POJO,又要用VO呢?

    我還覺(jué)得你有點(diǎn)奇怪,呵呵。  回復(fù)  更多評(píng)論   

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧 2009-04-13 22:37 advincenting

    為啥使用POJO,VO 呵呵,JEE架構(gòu)是多層的啊,如何屏蔽高層對(duì)底層的依賴呢,當(dāng)然通過(guò)值傳遞了。用過(guò)Spring Hiberante Ibatis 的朋友就應(yīng)該明白吧。  回復(fù)  更多評(píng)論   

    # re: JavaBean之間拷貝利器-Dozer 如果現(xiàn)在還是原始的手動(dòng)拷貝或者使用BeanUtil 趕緊換吧 2009-04-14 19:07 wangbing

    好東西 用上了  回復(fù)  更多評(píng)論   


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    公告

    Locations of visitors to this pageBlogJava
  • 首頁(yè)
  • 新隨筆
  • 聯(lián)系
  • 聚合
  • 管理
  • <2009年4月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    統(tǒng)計(jì)

    常用鏈接

    留言簿(13)

    隨筆分類(lèi)(71)

    隨筆檔案(179)

    文章檔案(13)

    新聞分類(lèi)

    IT人的英語(yǔ)學(xué)習(xí)網(wǎng)站

    JAVA站點(diǎn)

    優(yōu)秀個(gè)人博客鏈接

    官網(wǎng)學(xué)習(xí)站點(diǎn)

    生活工作站點(diǎn)

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲第一网站免费视频| 色屁屁www影院免费观看视频| 91精品全国免费观看青青| 免费乱理伦在线播放| 国产天堂亚洲国产碰碰| 国产视频精品免费| 妇女自拍偷自拍亚洲精品| 成在线人永久免费视频播放| 亚洲欧美熟妇综合久久久久| 国产精品美女自在线观看免费| 自拍偷自拍亚洲精品偷一| 免费在线一级毛片| 久久久久久国产a免费观看不卡 | 日本免费v片一二三区| 亚洲精品第一国产综合亚AV| 国产精品免费_区二区三区观看 | 免费无码成人AV片在线在线播放| 亚洲国产乱码最新视频| 日本免费高清一本视频| 美女视频黄a视频全免费网站一区| 亚洲国产精品日韩| 久久99精品免费视频| 亚洲一级毛片免观看| 日韩免费毛片视频| 一区二区三区精品高清视频免费在线播放| www亚洲一级视频com| 永久免费av无码网站yy| 亚洲一区电影在线观看| 国产又粗又长又硬免费视频| 精品多毛少妇人妻AV免费久久| 久久精品国产96精品亚洲 | 69xx免费观看视频| 亚洲精品无码mⅴ在线观看| 亚洲性日韩精品一区二区三区| 国产精品白浆在线观看免费| 亚洲三级在线观看| 亚洲永久精品ww47| 美女视频黄a视频全免费| 又大又硬又粗又黄的视频免费看 | 免费看www视频| XXX2高清在线观看免费视频|