It is my pleasure to announce the next official release of MapStruct Spring Extensions. What started out as a StackOverflow question turned into its own (sub-)project within the MapStruct organization.
Changes in this release:
- New module
test-extensionswhich contains a
@ConverterScanannotation that greatly simplifies the writing of integration tests. Thanks to Joose Haverinen for the suggestion.
- New annotation
@AdapterMethodNamewhich allows a developer to override the default name for generated adapter methods. Thanks to pw-lehre for the inspiration.
- New annotation
@DelegatingConverterthat will generate a converter calling the one whose method is annotated with this. The intended use is in conjunction with MapStruct Core’s
@InheritInverseConfiguration. Thanks again to pw-lehre for the idea.
Including the annotations and extensions defined in this project will generate a class acting as bridge between
MapStruct’s conventions and Spring'
s ConversionService API
that in turn can be added to any Mapper’s
uses attribute. See
the examples for details.
Thanks to Sjaak Derksen for suggesting this solution and Filip Hrisafov for opening the community project. Also thanks to Cosimo Damiano Prete, Daniel Shiplett, Alexey, Olivier Boudet, John Kelly, Myat Min, Hypercube Software, coding-guo and freund17 for their suggestions and fixes in previous releases. If you feel like there’s something missing in MapStruct which could make the Spring experience any smoother, please get involved!
Also, if your favourite library or framework could use some tweaking with regard to MapStruct, contact us.
Happy coding with MapStruct Spring Extensions!
You can fetch the release from Maven Central using the following GAV coordinates:
- Annotation JAR: org.mapstruct.extensions.spring:mapstruct-spring-annotations:1.1.0
- Annotation processor JAR: org.mapstruct.extensions.spring:mapstruct-spring-extensions:1.1.0
- Test Extensions with Converter Scan JAR: org.mapstruct.extensions.spring:mapstruct-spring-extensions:1.1.0
Alternatively, you can get ZIP and TAR.GZ distribution bundles - containing all the JARs, documentation etc. - from GitHub.
If you run into any trouble or would like to report a bug, feature request or similar, use the following channels to get in touch: