MapStruct Spring Extensions 1.1.2 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:

  • TypeDescriptors will now be kept as fields in generated ConversionServiceAdapters which can speed up the conversion process. Thanks to Jesse Bonzo for this contribution.
  • The generated ConverterScan so far used the legacy @PostConstruct annotation from the deprecated javax.annotation package underneath. Thanks to Jeff Schnitzer’s contribution, the generator now checks for the availability of the “new” jakarta.annotation.PostConstruct annotation and will prefer this if it’s available. For reasons of backwards compatibility, javax.annotation.PostConstruct is the fallback.

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, freund17, Joose Haverinen, pw-lehre, and George Noble 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