Mapstruct的具体介绍与使用
作者:mmseoamin日期:2024-02-04
我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。 如果小伙伴们觉得我的文章不错,记得一键三连哦
文章目录
- 一、mapstruct简介
- 二、mapstruct与其他映射对比
- 三、mapstruct底层原理解析
- 1、Java动态编译
- 四、具体使用
- 1、依赖导入
- 2、定义一个用例映射的接口
- 场景一:
- 场景二:
- 场景三:
- 参考文章:
一、mapstruct简介
- mapstruct是一种 实体类 映射框架,能够通过Java注解将一个实体类的属性安全地赋值给另一个实体类。有了mapstruct,只需要定义一个映射器接口,声明需要映射的方法,在编译过程中,mapstruct会自动生成该接口的实现类,实现将源对象映射到目标对象的效果。
二、mapstruct与其他映射对比
- 实体类映射框架大致有两种:一种是运行期通过java反射机制动态映射;另一种是编译期动态生成getter/setter,在运行期直接调用框架编译好的class类实现实体映射。
- 由于mapstruct映射是在编译期间实现的,因此相比运行期的映射框架有以下几个优点:
- 安全性高。因为是编译期就实现源对象到目标对象的映射, 如果编译器能够通过,运行期就不会报错。
- 速度快。速度快指的是运行期间直接调用实现类的方法,不会在运行期间使用反射进行转化。
三、mapstruct底层原理解析