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:
- Collection type mappings ignored the generic element type. This was no functional problem as such, but it prevented generating an adapter class for several collection type mappings within the same scope. Thanks to Hypercube Software and coding-guo for pointing this out.
We’re now functionally complete. There are currently no plans for further features, although we will keep an eye on compatibility with future MapStruct and Spring releases.
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 and Myat Min 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.0.1
- Annotation processor JAR: org.mapstruct.extensions.spring:mapstruct-spring-extensions:1.0.1
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: