当前位置: 首页 > 面试题库 >

如何在Spring Boot中使用推土机?

章城
2023-03-14
问题内容

我正在从事Spring
Boot项目。我只有注释配置。我想包括推土机以将实体转换为DTO,并将DTO转换为实体。我在推土机网站上看到了,他们解释说我必须在spring
xml配置文件中添加以下配置。由于我没有xml文件,而是注释配置Java类,因此我不知道如何将其转换为Java Configuration类。

<bean id="org.dozer.Mapper" class="org.dozer.DozerBeanMapper">
  <property name="mappingFiles">
    <list>
      <value>dozer-global-configuration.xml</value>
      <value>dozer-bean-mappings.xml</value>
      <value>more-dozer-bean-mappings.xml</value>
    </list>
  </property>
</bean>

如果有人可以给我一个例子,它将非常有用。谢谢


问题答案:

我认为这样的事情应该起作用:

@Configuration
public class YourConfiguration {

  @Bean(name = "org.dozer.Mapper")
  public DozerBeanMapper dozerBean() {
    List<String> mappingFiles = Arrays.asList(
      "dozer-global-configuration.xml", 
      "dozer-bean-mappings.xml",
      "more-dozer-bean-mappings.xml"
    );

    DozerBeanMapper dozerBean = new DozerBeanMapper();
    dozerBean.setMappingFiles(mappingFiles);
    return dozerBean;
  }

  ...
}


 类似资料:
  • 在Dozer的帮助下,我想将映射到DTO类 但是这两种设置

  • 考虑以下类。如何在不使用自定义转换器的情况下使用Dozer将A类转换为B类? 有人能为上述类提供推土机映射XML吗?

  • 如何正确设置推土机6.4.1或ModelMapper 2.2.0的映射,以成功映射java。时间LocalDate字段到java。util。日期字段,反之亦然? 考虑以下类别: 然后调用映射器。map(fooInstance,Bar.class) 无效。 我尝试过创建和注册自定义转换器。使用Dozer,我创建了扩展

  • 我有四门课: 从我在dozer留档中读到的关于继承的内容来看,它必须非常简单,我需要将超级类相互映射,以及子类。以下是它在xml中的外观: 所有这些类都是相同的,我的意思是D和D具有相同的属性,C和C等等。 问题:在我传递给dozer的对象中,我有一个类型为B的属性,它可以由C或D(多态性)初始化。当dozer返回新的映射对象时,它总是将属性类型B返回给我,而不是C或D。如何解决这个问题?

  • 我试图使用Dozer映射UUID字段,遇到了Dozer github上提到的一个问题: https://github.com/DozerMapper/dozer/issues/83 问题是-显然,Dozer依赖于UUID中不存在的默认无参数构造函数。因此,该链接显示了如何告知推土机执行参考复制。然而,使用该提示并没有帮助,我仍然会遇到以下异常: org.dozer.java.lang.java.u

  • 我不确定我是否正确理解推土机映射器中的自定义创建方法。我需要将int类型的bean属性转换为TransTypeCodebook对象实例。但我得到了: 我的TransTypeCodebook课程 映射器部分 我设法通过自定义转换器解决了这个问题,但我不确定我是否理解自定义创建方法的概念,我想知道这个字符串是从哪里来的。有人能解释一下吗?