映射器的可重用性

时间:2019-06-12 08:14:46

标签: java mapstruct

mapstruct是通过重用映射代码生成多个模型的正确工具吗?

例如,我只有一个输入类:

public class MySource {
 private String props;
}

和不同的目标类别

public class FooClass {
  private String foo;
}

public class BarClass {
  private String bar;
}

和映射器

public abstract class FooClassMapper {
  @Mapping(source = "props", target = "foo")
  public abstract FooClass mapFoo(MySource source)
}

public abstract class BarClassMapper {
  @Mapping(source = "props", target = "bar")
  public abstract BarClass mapBar(MySource source)
}

是否有一种方法可以通过使用MappingConfig,继承或其他方式来避免使用多个映射器?

1 个答案:

答案 0 :(得分:1)

您可以在单个接口中声明多种(不同的)映射方法,例如

func2