MapStruct Spring Extensions 1.1.0 released

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-extensions which contains a @ConverterScan annotation that greatly simplifies the writing of integration tests. Thanks to Joose Haverinen for the suggestion.
  • New annotation @AdapterMethodName which allows a developer to override the default name for generated adapter methods. Thanks to pw-lehre for the inspiration.
  • New annotation @DelegatingConverter that 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

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!

Download

You can fetch the release from Maven Central using the following GAV coordinates:

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:

comments powered by Disqus