zoukankan      html  css  js  c++  java
  • 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通过插件市场下载即可。
     
     
  • 相关阅读:
    redis conf 中文详解
    sed 用法记录
    MySQL数据库的各种存储引擎详解
    MySQL数据库char与varchar的区别分析及使用建议
    从一个乘法来分析C语言
    排它平方数
    高斯日记
    SUID或SGID程序中能不能用system函数
    【转载】GDB反向调试(Reverse Debugging)
    setuid函数解析
  • 原文地址:https://www.cnblogs.com/sunxianbiao/p/12706247.html
Copyright © 2011-2022 走看看