2013-10-22 67 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