服装做外贸的网站建设,微商怎么引流推广,优质校建设专题网站,wordpress 首页图片它会在启动时会自动生成同名复制#xff0c;生成一个临时文件#xff0c;避免bean拷贝时使用反射带来的性能损害#xff0c;且字段检查也是在编译时完成的#xff0c;基本上就是运行时无性能损耗 评语#xff1a;性能优良功能强大#xff0c;基本上你能想到的bean/多bean…它会在启动时会自动生成同名复制生成一个临时文件避免bean拷贝时使用反射带来的性能损害且字段检查也是在编译时完成的基本上就是运行时无性能损耗 评语性能优良功能强大基本上你能想到的bean/多bean操作都能实现
快速使用 1.导入依赖 !--这里我用的1.5.3.Final--dependencygroupIdorg.mapstruct/groupIdartifactIdmapstruct/artifactIdversion${mapstruct.version}/version/dependencydependencygroupIdorg.mapstruct/groupIdartifactIdmapstruct-processor/artifactIdversion${mapstruct.version}/version/dependency
避免报错(java: Internal error in the mapping processor: java.lang.NullPointerExceptio
) 原因 这个一般是编译器自检问题应该是lombok在mapstruct之前加载导致的 线上的线上一般没问题一般是用maven编译的只要你本地使用maven编译没问题那线上就没问题不会使用编译器的 解决方法 Setting --Build,Execution,Deployment --Compiler 加上参数: -Djps.track.ap.dependenciesfalse java: Internal error in the mapping processor: java.lang.NullPointerExceptio 方法一spring模式
1.定义
Mapper(componentModel spring, nullValueCheckStrategy NullValueCheckStrategy.ALWAYS, unmappedTargetPolicy ReportingPolicy.IGNORE, builder Builder(disableBuilder true))
public interface UserMapper {Demo2 toDemo2(Demo demo);
}2.使用
RestController
RequestMapping(/test)
public class TestController {Autowiredprivate UserConver userConver;RequestMapping(/t1)Sensitivepublic void test() {Demo demo new Demo(1,2,s1,0);Demo2 demo2 userConver.toDemo2(demo);}
}方法二通用(默认模式)
1.定义conver
Mapper(componentModel default, nullValueCheckStrategy NullValueCheckStrategy.ALWAYS, unmappedTargetPolicy ReportingPolicy.IGNORE, builder Builder(disableBuilder true))
public interface DemoConverter {DemoConverter INSTANCE Mappers.getMapper(DemoConverter.class);//单个bean转换(结合注解大全使用)Demo req2Entity(DemoReq req);//注意要使用集合转换必须先声明单个bean转换即上面这个方法ListDemo req2Entity(ListDemoReq list);
}
2.使用 public void agree(DemoReqreq) {Demo entity DemoConverter .INSTANCE.req2Entity(req);}