一、MapStruct 概念
MapStruct 是一个基于java注解实现的类结构映射工具,它的主要目的是简化Java Bean之间的映射转换工作,特别是在bo、vo、dto之间进行转换。
MapStruct 会根据开发者定义好的映射规则,自动生成映射代码;无需开发者手动编写针对不同属性的映射逻辑。
二、MapStruct插件
MapStruct 提供了一个名为 MapStruct
的插件,辅助我们使用MapStruct。
image.png
三、MapStruct 注解
MapStruct依赖引入:
<dependencies>
<!-- mapStruct依赖 -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.5.3.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.3.Final</version>
<scope>compile</scope>
</dependency>
<!-- lombok依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>0.2.0</version>
</path>
<path>
<groupId>org.project-lombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</path>
<path>
<groupId>org.project-lombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>