最近堆疊長分享了兩篇 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-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開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/330010.html
標籤:其他
上一篇:JDK成長記13:(深度好文)你能從3個層面分析volatile底層原理么?(上)
下一篇:Python 快速排序法(轉)
