您还可以使用推土机映射转换POJO映射到排除字段。例如,如果我们有两个类PojoA和PojoB有双向关系,我们这样定义
<mapping map-id="mapA" map-null="false">
<class-a>com.example.PojoA</class-a>
<class-b>java.util.Map</class-b>
<field>
<a>fieldA</a>
<b>this</b>
</field>
<field map-id="mapB">
<a>pojoB</a>
<b>this</b>
<b-hint>java.util.Map</b-hint>
</field>
</mapping>
<mapping map-id="mapB" map-null="false">
<class-a>com.example.PojoB</class-a>
<class-b>java.util.Map</class-b>
<field-exclude>
<a>pojoA</a>
<b>this</b>
</field-exclude>
</mapping>
映射然后定义一个bean设置上述推土机映射文件的属性。
<bean id="mapper" class="org.dozer.DozerBeanMapper">
<property name="mappingFiles">
<list>
<value>dozerMapping.xml</value>
</list>
</property>
</bean>
然后在类,你在哪里序列化
public class TestClass
{
@Autowired
DozerBeanMapper mapper;
public Map<String,Object> serializeObject(PojoA pojoA)
{
return ((Map<String, Object>) mapper.map(pojoA, Map.class, "mapA"));
}
}
Dozer manual here。
这一点,此外还有一些附加下面我将提到,解决了类似的问题,很好地适合我。 – jpitt42 2013-11-11 20:28:05