Mapstruct生成依赖注入的构造函数



我试图在MapStruct中生成一个实现,它将为我创建一个构造函数,我可以用于基于构造函数的依赖注入。我已经知道不能在映射器定义中使用构造器注入(见下文),但是如何使生成的类具有构造器注入呢?

我已经试过了:

@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
}
}

没有成功。我的类生成了,看起来不错,只是没有构造函数。如何定义映射器,以便获得可以在实现中使用的构造函数?

最诚挚的问候,瑞典王子

MapStruct不支持调用抽象类的构造函数。你必须有一个默认的空构造函数。

为了注入Dependency,您可以在您的字段中使用@Autowired或使用@Autowired添加setter

最新更新