Java實體對映工具MapStruct詳解

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

 

專欄大綱

在軟體架構中,分層架構是最常見,各層之間有其獨立且隔離的業務邏輯,也因而各層有自己的輸入輸出物件,也就是程式碼中見到各種物件,如DO(Data Object)、DTO、Domain Entity(領域實體),這些資料物件之間通常都有很多相同或相近的屬性物件,資料在傳輸的過程中從一個物件到另一個物件,就通常需要賦值,從最初的的getter/setter到後來的BeanUtils(減少了setter的程式碼量),再到現在的MapStruct。
Java實體對映工具MapStruct詳解
手寫轉換器帶來的人工成本較高,尤其是當轉換物件屬性較多,或者有巢狀屬性時,費時費力,且容易遺漏出錯,而且隨著物件的迭代,轉換器中的程式碼也要變動,所以通常我們還是會採用自動化的轉換器。
Java實體對映工具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

 

相關文章