在项目开发过程中,通常需要编写模型之间的转换。最常见的是:
例如:
在:
注册时,我们需要将UserRegisterReq转换为用户对象并将其存储到数据库中。这次,我们经常编写类似的代码:
尽管上述代码是可行的,但如果课程中有很多字段,它将更加麻烦 - 我们编写了一堆代码,只是为了实现对象的转换。
IDEA提供了GenerateAlsetter插头-in,以帮助我们快速生成上述代码。
演示如下所示:
只需安装插头-in,然后按Alt + Enter(MacOS是选项 + Enter)即可自动生成对象转换代码。
尽管该方法非常方便,但如果对象的字段很多,则仍然会导致代码非常尴尬且不够简洁。
实际上,Java生态系统中有许多对象映射框架,以帮助我们实现对象之间的转换。此外,作者列出了行业中相对常用的选项:
Githubdozer 1.9k StarSorika 1.2K StarsMapstruct 5K Starscglib 4.3K星形命令 - 贝纳特里0.2k恒星工作原理的反射大量反映,主要基于field.set。基于field.sit.sit.sit.sit.sit.sir.stecode File,在jsr269上,由字体上的映射代码,在jsr269上。编译期生成基于ASM的MethodVisitor以基于反射性能排名521436分配弹簧反射工具类。尽管有很多选项,但作者当前建议每个人都使用Mapsstruct。
映射优势:
缺点:
参考https://mapsstruct.org/documentation/ide-support/,配置您的IDE
编译代码,然后按以前的UserConverter接口上的快捷键(或单击)以找到USERCONVERTER的实现类。您可以跳到以下代码:
从代码可以看出,在映射汇编过程中,生成了userconverterimpl,并实现了对象之间的转换。
地图结构支持与Spring集成,只需按照以下步骤操作:
本文仅介绍一个相对简单的示例。实际上,地图结构支持非常灵活的配置,例如::
我们来自Lark Business Applications,目前是在北京,深圳,上海,Wuhan,Hangzhou,Chengdu,Cuangzhou和Sanya设立的办公区域诸如OKR飞行书籍,飞行图书表演,飞行书籍招聘和飞行书籍等系统。与报销和其他系统一样。请所有人加入我们。
扫描代码发现位置和交货简历
官方网站交付
https://job.toutiao.com/s/fyl7drg
原始:https://juejin.cn/post/7099734198453272607