背景#
在 Java 中,"源 bean -> 目標 bean" 的過程,很多時候通常都是手動創建目標 bean 的實例,再根據情況將源 bean 中的屬性值一一賦值給目標 bean。
這樣不僅效率低還容易出錯,因為很多時候 VO、DTO、Entity 之間的差異很小,所以最好是採用自動轉換的方式,專業詞叫 mapping
(映射)。
在 Java 中,最流行的 bean mappings 方案就是 MapStruct,讓我們來看看怎麼使用它。
安裝依賴#
參考:https://mapstruct.org/documentation/installation
如何使用#
常見問題#
我遇到最常見的問題是,MapStruct 和 Project Lombok 同時使用時編譯失敗,參考:Can I use MapStruct together with Project Lombok?
更多的常見問題解決方案:https://mapstruct.org/faq