Java實體映射工具MapStruct詳解

在軟件架構中,分層式結構是最常見,各層之間有其獨立且隔離的業務邏輯,也因而各層有自己的輸入輸出對象,也就是代碼中見到各種對象,如DO(Data Object)、DTO、Domain Entity(領域實體),這些數據對象之間通常都有很多相同或相近的屬性對象,數據在傳輸的過程中從一個對象到另一個對象,就通常需要賦值,從最初的的getter/setter到後來的BeanUtils(減少了setter的代碼量),再到現在的MapStruct。
目前的轉換器有很多種,根據網上的性能壓測數據來看,JMapper 和 MapStruct 的性能最好;根據易用性來講 MapStruct 最好,所以我們就使用 MapStruct 來實現轉換器。
 

 

專欄大綱

在軟件架構中,分層架構是最常見,各層之間有其獨立且隔離的業務邏輯,也因而各層有自己的輸入輸出對象,也就是代碼中見到各種對象,如DO(Data Object)、DTO、Domain Entity(領域實體),這些數據對象之間通常都有很多相同或相近的屬性對象,數據在傳輸的過程中從一個對象到另一個對象,就通常需要賦值,從最初的的getter/setter到後來的BeanUtils(減少了setter的代碼量),再到現在的MapStruct。
手寫轉換器帶來的人工成本較高,尤其是當轉換對象屬性較多,或者有嵌套屬性時,費時費力,且容易遺漏出錯,而且隨着對象的迭代,轉換器中的代碼也要變動,所以通常我們還是會採用自動化的轉換器。
在自動化的轉換器中,從性能和易用性來說,MapStruct都是其中的佼佼者。本技術專欄將詳細介紹Java 實體映射工具 MapStruct的使用。
 
主要包含如下內容:
  • Java 實體映射工具 MapStruct概覽和環境設置
  • Java 實體映射工具 MapStruct-基本映射快速入門
  • 在Intellij IDEA中體驗MapStruct Support插件
  • Java 實體映射工具 MapStruct-定製映射
  • Java 實體映射工具 MapStruct-映射多個對象
  • Java 實體映射工具 MapStruct-映射嵌套對象
  • Java 實體映射工具 MapStruct-List的轉換
  • Java實體映射工具MapStruct-封裝BaseMapper接口
  • 爲什麼實體映射工具MapStruct 的效率比較高?
  • 數據類型轉換(numberFormat、dateFormat、expression)
  • Java實體映射工具MapStruct和Lombok開發利器結合使用
  • MapStruct使用Java表達式進行映射
  • MapStruct屬性映射設置常量、默認值或默認表達式
  • Java實體映射工具MapStruct-集合映射Map和Set

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章