• 卧槽!Dozer 宣布停止维护,不要再用了。。


    最近栈长分享了两篇 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-performance-mapping-frameworks

    实测结果:

    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开发手册(嵩山版)》最新发布,速速下载!

    觉得不错,别忘了随手点赞+转发哦!

  • 相关阅读:
    河南六大学生程序设计竞赛--外国人饲喂站
    Basic脚本解释器移植到STM32
    C++ 建设者继承
    数据结构:Binary and other trees(数据结构,算法及应用(C++叙事描述语言)文章8章)
    POJ 2251-Dungeon Master(BFS)
    Python编程预约参观北京行动纲要
    debian防火墙firestarter
    debian清除无用的库文件(清理系统,洁癖专用)
    Linux(Debian) vps安装gnome桌面+VNC
    debian下Vnc
  • 原文地址:https://www.cnblogs.com/javastack/p/15433319.html
Copyright © 2020-2023  润新知