MapStruct 结构映射

一、MapStruct 概念

官网:https://mapstruct.org/

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>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容