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通过插件市场下载即可。
     
     
  • 相关阅读:
    【POJ 3162】 Walking Race (树形DP-求树上最长路径问题,+单调队列)
    【POJ 2152】 Fire (树形DP)
    【POJ 1741】 Tree (树的点分治)
    【POJ 2486】 Apple Tree (树形DP)
    【HDU 3810】 Magina (01背包,优先队列优化,并查集)
    【SGU 390】Tickets (数位DP)
    【SPOJ 2319】 BIGSEQ
    【SPOJ 1182】 SORTBIT
    【HDU 5456】 Matches Puzzle Game (数位DP)
    【HDU 3652】 B-number (数位DP)
  • 原文地址:https://www.cnblogs.com/sunxianbiao/p/12706247.html
Copyright © 2011-2022 走看看