OSS探訪GitHubでログイン

annotation processorでbean・DTO・record間のtype-safe mapperをcompile時に生成する

OSS規模スコア 298.4OSS健全度 100
スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
7,696
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/24
ページ内ナビ

概要

MapStructはJava annotation processorとしてmapper implementationをcompile時に生成します。runtime reflectionを使わず通常のmethod invocationを出力し、mappingの不足や型不整合をbuild時に検出できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

mapper interfaceからplain Java implementationを生成する

source/targetの同名propertyは既定でmappingし、@Mapping等で差分を宣言できます。生成codeはreflectionではなく通常のJava method invocationを使います。

出典:[2]

compile-time type safetyとrecord対応で変換ミスを早期検出する

不完全・不正なmappingはbuild errorとして報告され、Java 16+ recordsを含むbean/record間のmappingにも対応します。

出典:[2]

向いている用途

Entity・DTO・API model変換のboilerplateを減らしたいJava backendに向く

runtime mapping frameworkのoverheadを避けながら、mapping定義をannotationとしてsource codeに残したいserviceで使いやすい構成です。

出典:[2]

導入前の確認

annotation processing設定と1.6.3のbug fixを確認する

Maven/Gradle/IDEでannotation processingを有効化する必要があります。1.6.3ではrecord mapping、Immutables builder、LocalDate import等のbugが修正されています。

出典:[2][3]

参考にした公式資料

  1. [1]mapstruct/mapstruct — GitHub repository(2026-10-06)
  2. [2]MapStruct — README(2026-10-06)
  3. [3]MapStruct 1.6.3 release(2026-10-06)
編集部からの補足

Entity/DTO変換のboilerplateを減らしつつ生成codeを通常のJava methodとして追える点が強みです。annotation processingをbuild/IDE双方で有効化し、複雑なmapping ruleは明示的に管理してください。

3ステップで試す

  1. 1

    ソースを取得

    git clone --depth 1 https://github.com/mapstruct/mapstruct.git
  2. 2

    リポジトリへ移動

    cd mapstruct
  3. 3

    公式手順を確認

    READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
公式READMEで確認

成長

成長の推移 · 直近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で投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?