当前位置: 首页 > 网络应用技术

对象映射的比较和选择

时间:2023-03-07 23:29:20 网络应用技术

  在项目开发过程中,通常需要编写模型之间的转换。最常见的是:

  例如:

  在:

  注册时,我们需要将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