This repository contains examples showing how to use MapStruct, a Java annotation processor for the generation of type-safe bean mapping classes.
Currently, the following examples exist:
- mapstruct-on-ant: Shows how to use MapStruct in Ant-based projects; to build this example, run
ant build
on the command line - mapstruct-on-gradle: Shows how to use MapStruct in Gradle-based projects; to build the example project, run
./gradlew clean build
on the command line - mapstruct-lombok: Shows how to use MapStruct together with Lombok (with both a Maven
pom.xml
and a Gradlebuild.gradle
); to build the example project, run eithermvn clean install
or./gradlew clean build
on the command line - mapstruct-iterable-non-iterable: Shows how by means of a mapper util class conversions can be made from an iterable- to its non-iterable element
- mapstruct-mapping-from-map: Shows how by means of a mapper util class and qualifiers extracting value can be carried out on Maps. Watch mapstruct/mapstruct#1075 for native support.
- mapstruct-rounding: Shows how by means of a mapper util class and qualifiers roundings can be carried out on Numbers
- mapstruct-examples-updatemethods-1: Shows how to update an existing target object
- mapstruct-examples-field-mapping: Shows how MapStruct can be used with "struct" like objects with public fields
- mapstruct-nested-bean-mappings: Shows how to map object graphs via a main root method
- mapstruct-mapping-with-cycles: Shows how to map object graphs that can contain cycles
- mapstruct-spi-accessor-naming: Example on how to use the Service Provider Interface (SPI) for a custom accessor naming strategy.
- mapstruct-protobuf3: Example on how to use protobuf3 with MapStruct
- mapstruct-kotlin: Example on how to use MapStruct with Kotlin using KAPT (Kotlin Annotation Processing Tool)
The examples in this project are licensed under the Apache License, Version 2.0.