Spring Boot 如何引用通过注解“uses”注入到mapstructMap器中的Map器

gr8qqesn  于 2023-10-16  发布在  Spring
关注(0)|答案(1)|浏览(188)

我定义了一个mapstruct接口,它使用了另外两个mapstructMap器:

@Mapper(componentModel = "spring", uses = {Mapper1.class, Mapper2.class})
public interface ParentMapper{

}

现在我想在我的ParentMapper中引用这两个Map器,即。我希望能够访问具体的实现mapper1mapper2,因为我需要在想要创建的默认方法中使用它们。我希望通过使用@Autowired注入Map器来实现这一点:

@Autowired
Mapper1 mapper1;

@Autowired
Mapper2 mapper2;

但是,这并不起作用,因为Map器似乎没有被初始化。既然Map器是由Spring注入的,为什么它们不被初始化呢?

lmyy7pcs

lmyy7pcs1#

让你的ParentMapper接口成为一个抽象类,它将能够使用@Autowired特性。

@Mapper(componentModel = "spring", uses = {Mapper1.class, Mapper2.class})
public abstract class ParentMapper{
    @Autowired
    Mapper1 mapper1;

    @Autowired
    Mapper2 mapper2;
}

在此之后,您将能够使用mapper 1和mapper 2的默认函数。

相关问题