首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有XML的Dozer API日期映射配置

没有XML的Dozer API日期映射配置
EN

Stack Overflow用户
提问于 2014-07-07 20:50:58
回答 1查看 4.5K关注 0票数 3

有人知道如何将以下内容转换为Dozer的api调用格式吗?当涉及到java映射时,Dozer映射站点上的文档非常少。

代码语言:javascript
复制
   <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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-16 17:42:43

从Dozer的5.5.1版本开始,API语法不能执行所有映射。映射中的元素只能使用XML完成。

如果您可以通过添加一些复制来接受绕过这个限制的版本,那么下面的API映射应该与您的XML映射相匹配:

代码语言:javascript
复制
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);

如果您对进一步的细节感兴趣,我已经向PasteBin添加了一个简单的PasteBin。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24619653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档