我最近开始使用MapStruct,并有这个疑问。因此,可以将映射从一个方法继承到另一个方法,该方法用于映射前一个方法输出的子类。
对于例如-如果我有一个Car类,它需要映射成两个类FourWheeler和DetailedFourWheeler(扩展了FourWheeler类),我可以使用为将Car转换成FourWheeler而定义的映射到将Car转换成DetailedFourWheeler的方法中吗?下面是示例代码-
@lombok.Data
public class Car {
private String color;
private String brand;
private String variant;
}
@lombok.Data
public class FourWheeler {
private String paint;
private String company;
}
@lombok.Data
public class DetailedFourWheeler extends FourWheeler {
private String model;
}
我的映射器看起来像-
@Mapper
interface FourWheelerMapper {
public static final FourWheelerMapper INSTANCE = Mappers.getMapper(FourWheelerMapper.class);
@Mappings({
@Mapping(source = "color", target = "paint"),
@Mapping(source = "brand", target = "company")
})
FourWheeler mapToFourWheeler(Car car);
@Mappings({
@Mapping(source = "color", target = "paint"),
@Mapping(source = "brand", target = "company"),
@Mapping(source = "variant", target = "model")
})
DetailedFourWheeler mapToDetailedFourWheeler(Car car);
}
@InheritMappingsFromParent
@Mappings({
@Mapping(source = "variant", target = "model")
})
DetailedFourWheeler mapToDetailedFourWheeler(Car car);
我无法在文档中找到与此相关的东西。谢谢
MapStruct具有@InheritConfiguration
注释,它可以完成您所需要的功能。有关更多信息,请参阅文档中的映射配置继承。
对于您来说,无论如何,如果detailedfourwheeler
不扩展fourwheeler
,这将是行不通的,因为没有这种扩展,MapStruct就无法知道类型是相关的。
我的Java包中有四个类。只有一个类具有方法。 当我运行方法时,我如何运行这四个类中的所有方法? 以下是我的课程: 第一类。JAVA 第二类。爪哇 第三类。JAVA 样品。JAVA
问题内容: 在Python中,有没有一种方法可以从另一个类中调用一个类方法?我正在尝试在Python中旋转自己的MVC框架,但无法弄清楚如何从另一个类的一个类调用方法。 这是我想发生的事情: 我正在从PHP慢慢进入Python,因此我正在寻找与PHP等效的Python 。 问题答案: 更新:刚刚在您的帖子中看到了对它的引用。那不一样。用于获取函数对象,然后使用您的参数调用它 现在是一个实际的函数对
我创建了两个类:和。下面是进行计算的方法: 这里是一个调用并显示结果的函数,不幸的是,我无法根据这本书要求它运行的方式来运行它。 任何提示都会帮助我在我的再教育过程中。
问题内容: 我是python的新手。我试图在类中将值从一种方法传递给另一种方法。我搜索了该问题,但无法获得适当的解决方案。因为在我的代码中,“ if”正在调用类的方法“ on_any_event”,而该方法反过来应该调用我的另一个方法“ dropbox_fn”,该方法利用了“ on_any_event”中的值。如果“dropbox_fn”方法在类之外,它将起作用吗? 我将用代码说明。 这里的主要问
Java,我们可以从另一个类调用main()方法吗?例如,ClassA应该在命令行上运行,因为它定义了main(String[]args)方法。 我想把这个叫做ClassA,在ClassB里面。是否初始化类的新对象,如 或者是否有一种方法可以在ClassB中传递ClassA的命令行选项。 谢啦
问题内容: 在Bruce Eckel的“ Thinking In Java,第四版”的第428页(有关类型信息的章节)中,具有以下示例: 也许我有点累,但是我看不到add()方法中对add()的调用是如何工作的。我一直认为它应该有一个引用,或者是一个静态方法(并且我在ArrayList或List中找不到静态add())。我想念什么? 我只是为自己测试,发现这可行: 问题答案: Java为这样的方法