JAX | 23. - 27. April 2018, Mainz

Bean-Mappings mit MapStruct 1.2: einfach, schnell und sicher

Session
Nur bis 21. Dezember! ✓ Gratis Agile Day ✓ Smartwatch for free ✓ Save up to 956 € Jetzt anmelden

Wer durch die DTO-Hölle früherer J2EE-Versionen gegangen ist, als technikbedingt für jede Schicht eigene Daten-Klassen 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.

Alle News der Java-Welt:
Alle News der Java-Welt:

Behind the Tracks of JAX 2018

Agile & Culture
Teamwork & Methoden

Big Data & Machine Learning
Speicherung, Processing & mehr

Clouds, Container & Serverless
Alles rund um Cloud

Core Java & JVM Languages
Ausblicke & Best Practices

DevOps & Continuous Delivery
Deployment, Docker & mehr

Microservices
Strukturen & Frameworks

Web Development & JavaScript
JS & Webtechnologien

Performance & Security
Sichere Webanwendungen

Serverside & Enterprise Java
Spring, JDK & mehr

Digital Transformation & Innovation
Technologien & Vorgehensweisen

Software Architecture
Best Practices