一、Mapstruct
1、官方地址
2、简单使用指栏介绍
3、常见坑点操作
a、表达式的使用
@mappings({
@mapping(target="",expression="java()")
})
例子:www.kailing.pub/article/ind…
b、Mapstruct中使用lombok@Builder的坑
例子:events.jianshu.io/p/4f7b4f4bf…
在lombok和mapstruct同时使用时,一定要注意将编译顺序指定一下,不然mapstruct无法生成实现类无法使用
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<path>
<!-- 如果是0.1.0 有可能出现生成了maptruct的实现类,但该类只创建了对象,没有进行赋值 -->
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
4、@Mapper注解的用法
例子:zhuanlan.zhihu.com/p/576308775