Speaker
Infos
11:30 - 12:30
Watford A+B
Beschreibung
Wer durch die DTO-Hölle früherer J2EE-Versionen gegangen ist, als technikbedingt für jede Schicht eigene Datenklassen geschrieben und die Daten zwischen all diesen Klassen umkopieren musste, weiß, welche Vereinfachung uns Spring und Java EE vor über einem Jahrzehnt gebracht haben. Aber wenn wir uns unsere aktuellen Architekturen und Entwurfsstile wie hexagonale Architektur und Domain-driven Design anschauen, merken wir, dass wir doch wieder Adapter und Transferobjekte benötigen – beispielsweise im Anticorruption Layer eines Bounded Context. Wir müssen also weiterhin Daten zwischen ähnlichen Strukturen kopieren. Für solche Bean Mappings zwischen Entities, DTOs und vergleichbaren Strukturen wurden bisher oft die BeanUtils oder Dover eingesetzt, oder der Mapping-Code wurde mühsam von Hand geschrieben. Als Alternative bietet sich seit einiger Zeit MapStruct an, was den Mapping-Sourcecode als Annotationsprozessor zur Compile-Zeit generiert. Zur Laufzeit gibt es dann keine Reflection mehr, sondern typsicheres und schnelles Mapping. Dieser Vortrag stellt Version 1.2 von MapStruct vor, von den Grundlagen bis hin zu den flexiblen Mapping-Möglichkeiten. Wir werfen einen kurzen Blick auf die Integration mit Lombok. Und dazu gibt es diverse Tipps und Tricks aus der Praxis. Neben ein paar Folien wird es Live-Coding geben.