Spring: 实体类转换工具总结

文章目录

  • 一、MapStruct
    • 1、介绍
    • 2、原理
    • 3、使用
    • 4、问题处理
      • (1)IDEA编译报错:NullPointerException

一、MapStruct

1、介绍

MapStruct是一个实体类属性映射工具,通过注解的方式实现将一个实体类的属性值映射到另外一个实体类中。在开发的过程中我们只需要定义实体类属性映射的接口,在编译的过程中会生成具体的属性映射实体类。
Spring: 实体类转换工具总结_第1张图片

该图展示的是在项目中使用mapstruct定义了类型转换接口,编译后生成了该接口的具体实现类。

2、原理

mapstruct是基于JDK规范JSR 269实现的。

3、使用

添加maven依赖:

        
            org.mapstruct
            mapstruct-jdk8
            ${org.mapstruct.version}
        
        
            org.mapstruct
            mapstruct-processor
            ${org.mapstruct.version}
            provided
        

4、问题处理

(1)IDEA编译报错:NullPointerException

java: Internal error in the mapping processor: java.lang.NullPointerException
Spring: 实体类转换工具总结_第2张图片
解决方法1:
Setting -->Build,Execution,Deployment -->Compiler -->User-local build加上:

-Djps.track.ap.dependencies=false

Spring: 实体类转换工具总结_第3张图片
解决方法2:升级版本

        
            org.mapstruct
            mapstruct
            1.4.2.Final
            provided
        

        
            org.mapstruct
            mapstruct-processor
            1.4.2.Final
            provided
        

你可能感兴趣的:(【Spring】,spring,java)