我实现了一个装饰器来定制实体的映射,比如说MappingDecoratorA,它是一个抽象类,实现了MapStructs的MapperA接口。
public abstract class MappingDecoratorA implements MapperA {
...}
@Mapper
@DecoratedWith(MappingDecoratorA .class)
public interface MapperA {
@Mapper(uses = { MapperA.class},
componentModel = "cdi")
public interface MapperB{
当使用非默认componentmodel
时,必须将其用于所有映射器。尤其是如果你想重用它们。否则,特定组件将不知道如何注入和创建映射器。
所以解决问题的方法是
@Mapper(componentModel = "cdi")
@DecoratedWith(MappingDecoratorA .class)
public interface MapperA {
}
按照第二个链接中包含的示例,我已经测试了: 但我没有实现使用。
本文向大家介绍抽象类能使用 final 修饰吗?相关面试题,主要包含被问及抽象类能使用 final 修饰吗?时的应答技巧和注意事项,需要的朋友参考一下 不能,定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final 不能修饰抽象类,如下图所示,编辑器也会提示错误信息:
是否可能在MapStruct中使用不同的映射器?我有这个映射器 是否可以将此实现更改为MapStruct?
给定此代码: 我希望的类型为然而,它似乎保留了可选的修饰符
问题内容: 在Java中,有一种做法是声明每个变量(局部变量或类),如果参数确实存在,则声明参数final。 尽管这使代码更加冗长,但是这有助于简化代码的读取/抓取,并且由于意图被明确标记,因此还可以防止错误。 您对此有何想法,您会怎么做? 问题答案: 我认为这都与良好的编码风格有关。当然,你可以编写出色而健壮的程序,而无需在任何地方使用很多修饰符,但是当你考虑一下时… 将所有不应该改变的东西加进
我正在使用MapStruct从一个JPA实体映射到一个POJO DTO,在一个带有依赖项注入的Spring应用程序中。 ...并且从不为集合中的项调用修饰方法。 有没有一种方法可以让Mapstruct在集合映射中使用decorator方法,而不是在我的decorator中手动编写集合方法(这种方法很有效,但很冗长,并且违背了Mapstruct最初的目的,即不必编写这种代码)?