ページ内ナビ
概要
MapStructはJava annotation processorとしてmapper implementationをcompile時に生成します。runtime reflectionを使わず通常のmethod invocationを出力し、mappingの不足や型不整合をbuild時に検出できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
向いている用途
Entity・DTO・API model変換のboilerplateを減らしたいJava backendに向く
runtime mapping frameworkのoverheadを避けながら、mapping定義をannotationとしてsource codeに残したいserviceで使いやすい構成です。
出典:[2]
導入前の確認
参考にした公式資料
- [1]mapstruct/mapstruct — GitHub repository(2026-10-06)
- [2]MapStruct — README(2026-10-06)
- [3]MapStruct 1.6.3 release(2026-10-06)
編集部からの補足
Entity/DTO変換のboilerplateを減らしつつ生成codeを通常のJava methodとして追える点が強みです。annotation processingをbuild/IDE双方で有効化し、複雑なmapping ruleは明示的に管理してください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/mapstruct/mapstruct.git - 2
リポジトリへ移動
cd mapstruct - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
7,696 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- annotation-processor
- bean-mapping
- java
- javabeans
- mapping
- mapstruct
- no-reflection
- records
- Stars
- 7,696
- Forks
- 1,060
- Watchers
- 7,696
- Open Issues
- 546
- Contributors
- 159
- 所有者種別
- Organization
- 主要言語
- Java
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/09/24
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- MyBatis20,449 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
SQLを明示したままJava objectへのmappingを整理する
Java - Caffeine17,882 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Java process内のdataを高速なin-memory cacheへ保持し、size・expiration・refresh policyで再計算やI/Oを減らす
Java - Project Lombok13,481 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
annotationでgetter・builder・logging等の定型Java codeをcompile時に生成する
Java - Apache Maven5,369 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
POMでdependency・plugin・build lifecycleを共有し、Java/JVM buildを標準化するproject management tool
Java - Gradle18,875 Stars
共通タグ 2件 · 共通カテゴリ 1件
multi-projectのbuild・test・dependency管理をtask graphとpluginで統合する
Groovy - Vue Macros1,984 Stars
共通タグ 2件 · 共通カテゴリ 1件
Vue SFCへ追加macroとsyntax sugarをcompile-time transformとして導入する
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。