Dozer 宣布停止維護..
點擊關注公眾號,Java干貨及時送達
最近棧長分享了兩篇 MapStruct 玩法:
旨在優(yōu)雅的代替滿屏的 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 性能最差,當然這個評測數據僅供參考,不同的版本、環(huán)境可能還會有不同的表現。
我們再來看下 Google 搜索趨勢:

可以看到,在全球過去的一年時間,MapStruct 獨占鰲頭,然后就是 ModelMapper 緊隨其后!

上圖調整到了中國,數據很少,顯然中國地區(qū)使用 Google 搜索的相對不多,但也能看到 ?MapStruct 確實是使用最多的,另外就是 Dozer、ModelMapper 了。
所以,用哪個大家心中應該有個數了,個人建議盡量用主流的、用多比較多的,比如 MapStruct,畢竟它是最主流的,大家感興趣的話可以關注公眾號:Java技術棧,棧長會陸續(xù)分享更多實用教程。
至于那些堅持寫滿屏的 get/ set 和 BeanUtils 的也沒有毛病,只要代碼運行不出錯,怎么寫都沒有問題的。不管用什么,實際工作中也不是個人能選擇的,需要遵守整體技術團隊的規(guī)范。
話說你們公司用的哪個呢?歡迎分享!
所以,你還在用 Dozer 嗎?趕緊發(fā)給身邊的同事看看吧,及時遷移到別的主流類庫上,不然時間久了可能給系統帶來隱患。
最后,覺得我的文章對你用收獲的話,動動小手,給個在看、轉發(fā),原創(chuàng)不易,棧長需要你的鼓勵。
版權聲明: 本文系公眾號 "Java技術棧" 原創(chuàng),原創(chuàng)實屬不易,轉載、引用本文內容請注明出處,抄襲者一律舉報+投訴,并保留追究其法律責任的權利。
最近好文分享
2. 重磅!Oracle 宣布從 JDK 17 開始正式免費。。
更多請關注???Java核心技術
