我需要将一个对象转换为另一个对象。该对象嵌套了许多内部对象。但源对象和目标对象的数据类型,变量名,类名等都相同。 是否有任何有效的工具可以减少编码。
我尝试过orika,但它希望定义如下
factory.registerClassMap(factory
.classMap
包含所有字段和内部对象字段。我最终得到了大量的迭代器和设置字段映射。
帮助我或指导我是否有其他方法来映射具有相同对象的对象。
答案 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)