<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)論排行榜

    主站蜘蛛池模板: 91免费国产在线观看| 亚洲无码精品浪潮| 国产亚洲精品美女| 激情综合色五月丁香六月亚洲| 久久国产精品免费视频| 亚洲一级黄色大片| 亚洲国产精品日韩| 91成人在线免费视频| 亚洲av无码专区在线观看下载 | 日韩一区二区免费视频| 国产乱子伦精品免费视频| 亚洲国产精品久久66| 日韩精品视频免费网址| 丝袜捆绑调教视频免费区| 亚洲伊人久久大香线焦| 亚洲另类激情专区小说图片| 3344免费播放观看视频| 精品一区二区三区无码免费直播 | 亚洲国产成人综合| 亚洲高清偷拍一区二区三区 | 免费观看无遮挡www的视频| 边摸边吃奶边做爽免费视频网站| 91在线精品亚洲一区二区| 免费a级毛片在线观看| av无码国产在线看免费网站| 永久免费无码日韩视频| 亚洲人成影院午夜网站| 亚洲中文字幕无码久久2017| 啦啦啦www免费视频| 十九岁在线观看免费完整版电影| 小说区亚洲自拍另类| 亚洲午夜久久久久久尤物| 国产亚洲av人片在线观看| 蜜桃精品免费久久久久影院| 99热在线免费播放| 国产精品高清免费网站 | 精品视频在线免费观看| 青娱乐在线免费观看视频| 亚洲人成7777| 无码欧精品亚洲日韩一区| 国产一精品一aⅴ一免费|