Java MapStruct忽略自动取消映射的属性

Java MapStruct忽略自动取消映射的属性,java,mapstruct,Java,Mapstruct,我在代码中使用MapStruct,在不同的业务用例之间共享大模型(超过50个字段)。根据入口点的不同,将映射某些属性,而不映射某些属性。当我构建我的项目时,我总是会收到“警告:未映射的目标属性”消息 我已经研究并发现,可以通过使用语义 @Mapping(target = "propName", ignore = true) 问题是,考虑到我的对象有这么多字段,要忽略每个映射器类中的每个属性需要很多代码。我也不希望在我的日志上出现此警告。有没有办法告诉mapstruct忽略未映射的内容以避免此消

我在代码中使用MapStruct,在不同的业务用例之间共享大模型(超过50个字段)。根据入口点的不同,将映射某些属性,而不映射某些属性。当我构建我的项目时,我总是会收到“警告:未映射的目标属性”消息

我已经研究并发现,可以通过使用语义

@Mapping(target = "propName", ignore = true)
问题是,考虑到我的对象有这么多字段,要忽略每个映射器类中的每个属性需要很多代码。我也不希望在我的日志上出现此警告。有没有办法告诉mapstruct忽略未映射的内容以避免此消息?

您可以在
@Mapper
级别上设置“未映射的目标策略”,或者通过
@MapperConfig
在多个映射器之间共享设置:

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface MyMapper {}
用于忽略自动映射 MapStruct 1.3.0.最终参考指南:

通过@BeanMapping(ignoreByDefault=true)将默认值 行为将是显式映射,这意味着所有映射都必须 将通过@Mapping指定,并且不会发出警告 关于缺少目标属性


在方法级别上是否有相同的操作?如果可以在全局级别上配置,而不仅仅是在两种类型之间配置,那就太好了。
@BeanMapping(ignoreByDefault = true)
OneObj map(TwoObj two);