@Mapper
public interface SimpleSourceDestinationMapper {
@Mappings({
@Mapping(source ="name", target="tgName")
})
SimpleDestination sourceToDestination(SimpleSource source);
}
我想从属性文件中加载源的名称和目标的tgName。
像这样的东西
@Mapping(source ="${mapstruct.source.name}", target="${mapstruct.destination.name}")
application.properties
mapstruct.source.name=name
mapstruct.destination.name=tgName
据我所知这是不可能的。MapStruct是一个批注处理器,它分析@mapping
批注编译时间。
此外,注释参数需要真常量。不能从资源包或属性文件解析它们。
不确定这是否行得通,但您可以考虑编写自己的扩展(处理器)。MapStruct连接处理器。第一个开始并决定哪些应该运行。默认情况下,有一个分析源代码并构建源代码模型的处理器,MethodRetrievalProcessor
,后面还有一个构建内部模型的处理器MapperCreationProcessor
,等等。
我有mapstruct映射器的实现如下 没有注释的行,我收到以下错误: 错误:(20,14)Java:目标属性“status”的几个可能的源属性。 我是否可以通过添加一些注释来避免上面的样板(显式映射),说明Pojo1具有更高的优先级?我研究了Java文档和mapstruct的源代码,但没有任何示例或线索对我的情况有帮助。我试图用InheritanceStrategy找到一些东西,但它看起来很像M
我有以下DTO和域对象。我正在使用Mapstruct将域对象复制到DTO对象。 使用下面的映射器将域映射到DTO。我不想将电话属性从域映射到DTO。怎么做?我尝试在mapping ignore中提供嵌套目标属性,但它给出了错误:
我正在从ModelMapper到MapStruct的转换过程中,到目前为止一切都很顺利,除了在列表上排序和筛选的情况,如果我有一个从域对象到实体的映射,例如: 从一个api中,我想在contactAddressLine1上进行过滤或排序,然后我想查找源代码(或反向映射时的目标代码),以便将其添加到动态jpq或sql查询中。 有没有办法用MapSTRt做到这一点? 使用ModelMapper,我可以
MapStruct:在映射到目标之前检查源的null。如果源为空,则需要从mapstruct接口引发自定义异常。
问题内容: 我正在使用MapStruct库映射对象,但出现此错误: 无法将属性“ java.util.Date aDate”映射到“ javax.xml.bind.JAXBElement ADATE”。考虑声明/实现一个映射方法:“ javax.xml.bind.JAXBElement map(java.util.Date value)”。 我的问题:应该在哪里取消此映射方法? 问题答案: 我通过
并将属性加载到映射中,结果为: 有什么想法如何创建一个映射策略吗?