1、MapStruct的应用

项目之中的实体对象超多,DTO、VO、DO等等,都需要涉及到属性之间的映射。此项工作的逻辑性不是很复杂,但是非常的繁琐,最好需要一个框架结构来做此件事情。根据java的特性,解决方案大概有两种:

1、通过java自身的反射,反射确实方便,但是运行时执行,消耗性能。

2、框架自身最好能自动生成代码,编译执行,并且可以检查到属性名称的变化带来的编译错误。

鉴于以上两点,我们选择了MapStruct,此框架具有以下的优点:

  1. 注解处理器
  2. 可以生成 JavaBean 之间那的映射代码
  3. 类型安全, 高性能, 无依赖性

入门如下:

1、引入依赖

<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
---注解分析器
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5</version> <!-- or newer version -->
<configuration>
<source>1.8</source> <!-- depending on your project -->
<target>1.8</target> <!-- depending on your project -->
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
</path>
<!-- other annotation processors -->
</annotationProcessorPaths>
</configuration>
</plugin>

2、插件工具
mapstruct的插件可以自动检查到属性字段的更改,并且提供属性灵活的选择。(我下载了插件不好使)
idea通过插件市场下载即可。
 
 
原文地址:https://www.cnblogs.com/sunxianbiao/p/12706247.html