使用第三方库

时间:2016-06-07 06:42:28

标签: java mapper orika

我需要将一个对象转换为另一个对象。该对象嵌套了许多内部对象。但源对象和目标对象的数据类型,变量名,类名等都相同。 是否有任何有效的工具可以减少编码。

我尝试过orika,但它希望定义如下

factory.registerClassMap(factory
                .classMap

包含所有字段和内部对象字段。我最终得到了大量的迭代器和设置字段映射。

帮助我或指导我是否有其他方法来映射具有相同对象的对象。

2 个答案:

答案 0 :(得分:0)

您可以查看MapStruct

另一种选择是Dozer。通过在mapper xml文件属性wildcard="true"中定义,可以将类映射为1对1。这意味着它将自动尝试映射两个对象中的每个属性。当该属性设置为false时,它将仅映射显式定义的字段。

<?xml version="1.0" encoding="UTF-8"?>
<mappings xmlns="http://dozer.sourceforge.net"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://dozer.sourceforge.net
          http://dozer.sourceforge.net/schema/beanmapping.xsd">

    <mapping wildcard="true"> 
        <class-a>org.example.ObjectA</class-a>
        <class-b>org.example.ObjectB</class-b>   
    </mapping> 
</mappings>

答案 1 :(得分:0)

最好使用合适的克隆库,检查一下http://blog.jadira.co.uk/blog/2013/6/25/announcing-jadira-cloning.html