2013-10-22 104 views
0

我正在尋找一種無XML配置的對象到對象映射器。應該可以將任何簡單類型以及嵌套列表從一個對象轉換爲完全不同的對象。沒有xml的簡單對象到對象映射器?

像:

class IncomingDTO { 
    String firstname; 
    String lastname; 
    List<Customer> customers; 
} 

class Customer { 
    Address address; 
} 


class ResultDTO { 
    String name; //should be a combination of firstname+lastname 
    List<Address> addresses; //which might come from  
} 

我正在尋找一種方式來不通過每個對象具有迭代,每一個條目手動複製。也許有一個圖書館,我可以給一些映射配置,爲我做剩下的?

+0

傑克遜可以很容易地將一個POJO接口的實現映射到另一個。兩行代碼,真的很快。 – tom

+0

我想你應該看看這個主題 - http://stackoverflow.com/questions/1432764/any-tool-for-java-object-to-object-mapping – Matej

回答

2

如果可能,我寧願在Java代碼中執行此操作。我不確定爲什麼當基於代碼的解決方案更容易閱讀和更具擴展性時,有一些基於聲明的解決方案是有好處的。

如果你需要一個框架來做到這一點,或許Dozer是有用的。它提供了鑑別mappings using annotations的手段(以及XML)

0

你應該看看阿帕奇公共BeanUtils的http://commons.apache.org/proper/commons-beanutils/

org.apache.commons.beanutils.BeanUtils 

有一些方法來幫助你喜歡

public static void copyProperties(Object dest, Object orig) 

將屬性值從源bean複製到目標bean 屬性名稱相同的所有情況。

0

看看Orika,

Orika是一個Java Bean映射框架,遞歸副本(其他功能之間)的數據從一個對象到另一個。在開發多層應用程序時它可能非常有用。

Orika on GitHub