美文网首页
Spring Boot MapStruct

Spring Boot MapStruct

作者: 李飞_fd28 | 来源:发表于2020-04-02 14:38 被阅读0次

    Spring Boot MapStruct 是什么

    MapStruct是一种类型安全的bean映射类生成java注释处理器。
    我们要做的就是定义一个映射器接口,声明任何必需的映射方法。在编译的过程中,MapStruct会生成此接口的实现。该实现使用纯java方法调用的源和目标对象之间的映射,MapStruct节省了时间,通过生成代码完成繁琐和容易出错的代码逻辑。下面我们来揭开它的神秘面纱
    

    在一个成熟的工程中,尤其是现在的分布式系统中,应用与应用之间,还有单独的应用细分模块之后,DO 一般不会让外部依赖,这时候需要在提供对外接口的模块里放 DTO 用于对象传输,也即是 DO 对象对内,DTO对象对外,DTO 可以根据业务需要变更,并不需要映射 DO 的全部属性。

    这种 对象与对象之间的互相转换,就需要有一个专门用来解决转换问题的工具,毕竟每一个字段都 get/set 会很麻烦。

    MapStruct 就是这样的一个属性映射工具,只需要定义一个 Mapper 接口,MapStruct 就会自动实现这个映射接口,避免了复杂繁琐的映射实现。MapStruct官网地址: mapstruct.org/

    Maven 的配置
    pom.xml

    <properties>
        <org.mapstruct.version>1.3.1.Final</org.mapstruct.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>${org.mapstruct.version}</version>
        </dependency>
    </dependencies>
    <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.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>${org.mapstruct.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    写转换关系

    @Mapper
    public interface PmsCatalogConverter {
        PmsCatalogConverter converter = Mappers.getMapper(PmsCatalogConverter.class);
    
        PmsCatalogInfo to(PmsCatalog catalog);
    
        List<PmsCatalogInfo> to(List<PmsCatalog> catalogs);
    
    }
    

    相关文章

      网友评论

          本文标题:Spring Boot MapStruct

          本文链接:https://www.haomeiwen.com/subject/gdwtphtx.html