Mapstruct 生成用于依赖注入的构造函数
Mapstruct generate Constructor for dependency injection
我正在尝试在 MapStruct 中生成一个实现,它将为我创建一个构造函数,我可以将其用于基于构造函数的依赖项注入。我了解到我不能在映射器定义中使用构造函数注入(见下文),但是如何才能使我生成的 class 有一个?
我试过以下:
@Mapper(componentModel = "spring", uses = Dependency.class, injectionStrategy = InjectionStrategy.CONSTRUCTOR)
public abstract class MapStructTest {
private Dependency dependency;
@Mapping(source = "field", target "target")
@Mapping(target = "target2", ignore = true)
@AfterMapping
public final void runAfter() {
//dostuff for target2
}
}
没有成功。我的 class 已生成,看起来没问题,只是没有构造函数。如何定义我的映射器,以便获得可以在实现中使用的构造函数?
此致,
瑞典王子
MapStruct 不支持为抽象 类 调用构造函数。您必须有一个默认的空构造函数。
为了注入 Dependency
,您可以在您的字段上使用 @Autowired
或添加 setter 和 @Autowired
我正在尝试在 MapStruct 中生成一个实现,它将为我创建一个构造函数,我可以将其用于基于构造函数的依赖项注入。我了解到我不能在映射器定义中使用构造函数注入(见下文),但是如何才能使我生成的 class 有一个?
我试过以下:
@Mapper(componentModel = "spring", uses = Dependency.class, injectionStrategy = InjectionStrategy.CONSTRUCTOR)
public abstract class MapStructTest {
private Dependency dependency;
@Mapping(source = "field", target "target")
@Mapping(target = "target2", ignore = true)
@AfterMapping
public final void runAfter() {
//dostuff for target2
}
}
没有成功。我的 class 已生成,看起来没问题,只是没有构造函数。如何定义我的映射器,以便获得可以在实现中使用的构造函数?
此致, 瑞典王子
MapStruct 不支持为抽象 类 调用构造函数。您必须有一个默认的空构造函数。
为了注入 Dependency
,您可以在您的字段上使用 @Autowired
或添加 setter 和 @Autowired