最近栈长分享了两篇 MapStruct 玩法:
- MapStruct 根底玩法
- MapStruct 高级玩法
旨在优雅的代替满屏的 get/set 以及 BeanUtils 工具类,而后栈长也收到了一些留言,其中很多敌人就是举荐应用 Dozer 的:
栈长并没有用过 Dozer,敌人们一再举荐,一时搞得我十分好奇,这到底是何方神器,所以很想体验一下这个神器。。
不过当我关上 Dozer Github 时:
纳尼?什么鬼?
栈长简略翻译下:
Dozer 我的项目以后不再保护了,并且未来很大可能被弃用,而后新用户不倡议应用了,老用户也举荐大家迁徙到 MapStruct 和 ModelMapper 等类库下面去。
栈长看了历史批改记录,是 2021/04/07 这天提交的不再保护的记录,事件曾经过来大半年了,整个我的项目也曾经大半年没有更新了。。
既然 Dozer 曾经不再保护,并且行将被弃用了,我也就没有体验的必要了,当然也不举荐大家应用了,省得入坑!
如果大家我的项目中有用到 Dozer 的,也倡议思考迁徙到别的 Bean 映射工具,比方:MapStruct、Orika、ModelMapper、JMapper 等等,至于它们的性能如何,栈长找到了一篇国外的评测报告:
https://www.baeldung.com/java…
实测后果:
Framework Name | p0.90 | p0.999 | p1.0 |
---|---|---|---|
JMapper | 10-3 | 0.008 | 64 |
MapStruct | 10-3 | 0.010 | 68 |
Orika | 0.006 | 0.278 | 32 |
ModelMapper | 0.083 | 2.398 | 97 |
Dozer | 0.146 | 4.526 | 118 |
咱们能够看到性能最好的显然属于 JMapper,MapStruct 紧随其后,Dozer 性能最差,当然这个评测数据仅供参考,不同的版本、环境可能还会有不同的体现。
咱们再来看下 Google 搜寻趋势:
能够看到,在寰球过来的一年工夫,MapStruct 独占鳌头,而后就是 ModelMapper 紧随其后!
上图调整到了中国,数据很少,显然中国地区应用 Google 搜寻的绝对不多,但也能看到 MapStruct 的确是应用最多的,另外就是 Dozer、ModelMapper 了。
所以,用哪个大家心中应该有个数了,集体倡议尽量用支流的、用多比拟多的,比方 MapStruct,毕竟它是最支流的,大家感兴趣的话能够关注公众号:Java 技术栈,栈长会陆续分享更多实用教程。
至于那些保持写满屏的 get/ set 和 BeanUtils 的也没有故障,只有代码运行不出错,怎么写都没有问题的。不论用什么,理论工作中也不是集体能抉择的,须要恪守整体技术团队的标准。
话说你们公司用的哪个呢?欢送投票分享!
所以,你还在用 Dozer 吗?连忙发给身边的共事看看吧,及时迁徙到别的支流类库上,不然工夫久了可能给零碎带来隐患。
好了,明天的分享就到这里了,前面栈长会分享更多好玩的 Java 技术和最新的技术资讯,关注公众号 Java 技术栈第一工夫推送,我也将支流 Java 面试题和参考答案都整顿好了,在公众号后盾回复关键字 “ 面试 ” 进行刷题。
最初,感觉我的文章对你用播种的话,动动小手,给个在看、转发,原创不易,栈长须要你的激励。
版权申明: 本文系公众号 “Java 技术栈 ” 原创,原创实属不易,转载、援用本文内容请注明出处,剽窃者一律举报+投诉,并保留追究其法律责任的权力。
近期热文举荐:
1.1,000+ 道 Java 面试题及答案整顿 (2021 最新版)
2. 别在再满屏的 if/ else 了,试试策略模式,真香!!
3. 卧槽!Java 中的 xx ≠ null 是什么新语法?
4.Spring Boot 2.5 重磅公布,光明模式太炸了!
5.《Java 开发手册(嵩山版)》最新公布,速速下载!
感觉不错,别忘了顺手点赞 + 转发哦!