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

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

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

    新的起點 新的開始

    快樂生活 !

    JavaBean之間拷貝利器-Dozer 如果現在還是原始的手動拷貝或者使用BeanUtil 趕緊換吧

       分析多層架構的JEE系統,經常存在JavaBean直接的拷貝。比如在DAO層,我們通過POJO取得業務層需要的數據,將這些數據傳遞給Service層的VO。POJO與VO就存在典型的值拷貝。還有就是Webservice,客戶端調用Webservice,也存在將大量返回值映射到相應的JavaBean里。呵呵 我們項目就是這個需求。
        典型的解決方案就是手動拷貝,弊端很明顯,代碼中充斥大量Set Get方法,真正的業務沒埋藏與值的拷貝之中。另一種方案就是使用BeanUtil,但BeanUtil不夠很好的靈活性,又時候還不得不手動拷貝。
         對于這種重復沒有實際意義的拷貝難道沒有終結解決方案嗎?! 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支持簡單類型 復雜類型的雙向遞歸映射。
        
        如何使用呢? 類似BeanUtil 很簡單,如果兩個javaBean之間,屬性名相同,類型為基本類型,那么下面代碼就OK了,基本沒有學習曲線。
       

    Mapper mapper = new DozerBeanMapper();

    DestinationObject destObject 
    = mapper.map(sourceObject, DestinationObject.class);
                 or
    DestinationObject destObject 
    = new DestinationObject();
    mapper.map(sourceObject, destObject);
       在后續的的內容中,我會介紹如何配置復雜的Map,如何自定義Map,如何獲得Map的統計數據等。JavaBean之間拷貝利器-Dozer(2)  映射數據類型不一致,級聯映射與自定義映射

      

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

    評論

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

    不錯,有空研究一下!  回復  更多評論   

    # re: JavaBean之間拷貝利器-Dozer 如果現在還是原始的手動拷貝或者使用BeanUtil 趕緊換吧[未登錄] 2009-04-13 08:35 abc

    好東西,我以前也為這個犯愁呢!  回復  更多評論   

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

    如果sourceObject和DestinationObject里屬性名不同或大多屬性性相同而只有幾個不同,Dozer能不能支持針對這樣的問題的問題?  回復  更多評論   

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

    我有點奇怪,實體用一個不就好了嗎?為啥用POJO,又要用VO呢?  回復  更多評論   

    # re: JavaBean之間拷貝利器-Dozer 如果現在還是原始的手動拷貝或者使用BeanUtil 趕緊換吧[未登錄] 2009-04-13 13:35 rex

    dozer效率比較慢的  回復  更多評論   

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

    好的,收藏一下  回復  更多評論   

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

    BeanUtil這個東西不適合用在Proxy出來的對象
    Dozer可以

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

    總體來說,很不錯的
    性能上也慢不到哪里去。  回復  更多評論   

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

    我有點奇怪,實體用一個不就好了嗎?為啥用POJO,又要用VO呢?

    我還覺得你有點奇怪,呵呵。  回復  更多評論   

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

    為啥使用POJO,VO 呵呵,JEE架構是多層的啊,如何屏蔽高層對底層的依賴呢,當然通過值傳遞了。用過Spring Hiberante Ibatis 的朋友就應該明白吧。  回復  更多評論   

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

    好東西 用上了  回復  更多評論   


    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     

    公告

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

    統計

    常用鏈接

    留言簿(13)

    隨筆分類(71)

    隨筆檔案(179)

    文章檔案(13)

    新聞分類

    IT人的英語學習網站

    JAVA站點

    優秀個人博客鏈接

    官網學習站點

    生活工作站點

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本一道一区二区免费看| 青青青国产手机频在线免费观看| 久久免费的精品国产V∧| 亚洲精品无码成人AAA片| 国产精品黄页免费高清在线观看| 又大又硬又爽免费视频| 麻豆va在线精品免费播放| 免费a级毛片大学生免费观看| 国产偷国产偷亚洲高清在线| 人人狠狠综合久久亚洲高清| 免费精品久久久久久中文字幕| 深夜国产福利99亚洲视频| CAOPORN国产精品免费视频| 亚洲国产精品福利片在线观看| 免费成人在线电影| 亚洲福利视频网站| 一个人看www在线高清免费看| 亚洲国产精品一区二区三区在线观看 | 国产精品无码一区二区三区免费 | 一道本在线免费视频| 亚洲国产成人五月综合网| 国产成人精品免费大全| 无码乱人伦一区二区亚洲| 又粗又大又黑又长的免费视频| 亚洲丁香婷婷综合久久| 亚洲一区二区三区无码影院| 毛片无码免费无码播放| 亚洲中文字幕无码爆乳| 亚洲人成人网站在线观看| 久久香蕉国产线看免费| 亚洲综合激情五月色一区| 国产乱辈通伦影片在线播放亚洲| 99re在线精品视频免费| 亚洲人成无码网站在线观看| 亚洲伊人久久综合影院| 四虎在线最新永久免费| 在线观看亚洲专区| 久久青青草原亚洲av无码app | 免费大黄网站在线看| 久久精品免费观看| 亚洲熟妇自偷自拍另欧美|