谁知道如何将下面的转换成Dozer的api调用格式?关于 Java 映射,Dozer 映射站点上的文档非常少。
<mappings>
<configuration>
<date-format>MM/dd/yyyy HH:mm</date-format>
</configuration>
<mapping wildcard="true">
<class-a>org.dozer.vo.TestObject</class-a>
<class-b>org.dozer.vo.TestObjectPrime</class-b>
<field>
<a>dateString</a>
<b>dateObject</b>
</field>
</mapping>
<mapping>
<class-a>org.dozer.vo.SomeObject</class-a>
<class-b>org.dozer.vo.SomeOtherObject</class-b>
<field>
<a>srcField</a>
<b>destField</b>
</field>
</mapping>
</mappings>
最佳答案
从 Dozer 5.5.1 版开始,API syntax cannot perform all mappings .映射中的
如果您可以接受通过添加一些重复项来绕过
BeanMappingBuilder mappingBuilder = new BeanMappingBuilder() {
@Override
protected void configure() {
String dateFormat = "MM/dd/yyyy HH:mm";
mapping(TestObject.class, TestObjectPrime.class,
TypeMappingOptions.wildcard(true),
TypeMappingOptions.dateFormat(dateFormat))
.fields("dateString", "dateObject");
mapping(SomeObject.class, SomeOtherObject.class,
TypeMappingOptions.dateFormat(dateFormat))
.fields("srcField", "destField");
}
};
DozerBeanMapper apiBeanMapper = new DozerBeanMapper();
apiBeanMapper.addMapping(mappingBuilder);
如果您对更多细节感兴趣,我添加了一个简单的 ApiAndXmlMappingTest example到 PasteBin。
关于java - 没有 XML 的 Dozer API 日期映射配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24619653/