Java实体映射工具MapStruct详解
时间:2021-09-20
本文章向大家介绍Java实体映射工具MapStruct详解,主要包括Java实体映射工具MapStruct详解使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在软件架构中,分层式结构是最常见,各层之间有其独立且隔离的业务逻辑,也因而各层有自己的输入输出对象,也就是代码中见到各种对象,如DO(Data Object)、DTO、Domain Entity(领域实体),这些数据对象之间通常都有很多相同或相近的属性对象,数据在传输的过程中从一个对象到另一个对象,就通常需要赋值,从最初的的getter/setter到后来的BeanUtils(减少了setter的代码量),再到现在的MapStruct。
目前的转换器有很多种,根据网上的性能压测数据来看,JMapper 和 MapStruct 的性能最好;根据易用性来讲 MapStruct 最好,所以我们就使用 MapStruct 来实现转换器。
专栏大纲
在软件架构中,分层架构是最常见,各层之间有其独立且隔离的业务逻辑,也因而各层有自己的输入输出对象,也就是代码中见到各种对象,如DO(Data Object)、DTO、Domain Entity(领域实体),这些数据对象之间通常都有很多相同或相近的属性对象,数据在传输的过程中从一个对象到另一个对象,就通常需要赋值,从最初的的getter/setter到后来的BeanUtils(减少了setter的代码量),再到现在的MapStruct。
手写转换器带来的人工成本较高,尤其是当转换对象属性较多,或者有嵌套属性时,费时费力,且容易遗漏出错,而且随着对象的迭代,转换器中的代码也要变动,所以通常我们还是会采用自动化的转换器。
在自动化的转换器中,从性能和易用性来说,MapStruct都是其中的佼佼者。本技术专栏将详细介绍Java 实体映射工具 MapStruct的使用。
主要包含如下内容:
-
Java 实体映射工具 MapStruct概览和环境设置
-
Java 实体映射工具 MapStruct-基本映射快速入门
-
在Intellij IDEA中体验MapStruct Support插件
-
Java 实体映射工具 MapStruct-定制映射
-
Java 实体映射工具 MapStruct-映射多个对象
-
Java 实体映射工具 MapStruct-映射嵌套对象
-
Java 实体映射工具 MapStruct-List的转换
-
Java实体映射工具MapStruct-封装BaseMapper接口
-
为什么实体映射工具MapStruct 的效率比较高?
-
数据类型转换(numberFormat、dateFormat、expression)
-
Java实体映射工具MapStruct和Lombok开发利器结合使用
-
MapStruct使用Java表达式进行映射
-
MapStruct属性映射设置常量、默认值或默认表达式
-
Java实体映射工具MapStruct-集合映射Map和Set
原文地址:https://www.cnblogs.com/rickie/p/15314076.html
- 使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
- 一次误报引发的DNS检测方案的思考:DNS隧道检测平民解决方案
- Andriod基础——Adapter类
- ORM查询语言(OQL)简介--高级篇:脱胎换骨
- 用Java实现处理日期的工具类——常用日期处理方法
- ORM查询语言(OQL)简介--实例篇
- 漏洞预警 | 海洋CMS(SEACMS)0day漏洞预警
- 【机器学习】分类算法评价
- Java中图片处理工具类——能满足各种需求
- onclicklistener到底怎么用?
- 如何入侵联网智能灯泡——LIFX智能灯泡
- Java实现的一个编号生成器工具类——5种方法
- 【机器学习】有趣的机器学习:最简明入门指南
- 不使用反射,“一行代码”实现Web、WinForm窗体表单数据的填充、收集、清除,和到数据库的CRUD
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释