映射
@Mapping(target="subjectName", source="courseName")
Target map(Source source);
MapStruct生成的方法
public Target map(Source source) {
if ( source == null ) {
return null;
}
Target target = new Target();
target.setSubjectName( source.getCourseName() );
return target;
}
现在,我的要求是防止在MapStruct生成的方法中对source
进行空检查。怎么能实现呢?
答案 0 :(得分:0)
目前实现这一目标的唯一方法是定义自己的自定义public Target map(Source source)
方法。 MapStruct已经存在一个未解决的问题,即支持@Nullable
,@NonNull
注释,但仍未完成。
答案 1 :(得分:0)
@Mapping(target="subjectName", source="courseName",qualifiedByName = "yourCustomMethod")
Target map(Source source);
@Named("yourCustomMethod")
default Target yourCustomMethod(Source source){
if ( source == null ) {
return null;
}
Target target = new Target();
target.setSubjectName( source.getCourseName() );
return target;
}
我称它为从编译器:D
复制