W-JAX | 5. - 9. November 2018, München

Bean Mappings mit MapStruct 1.2: einfach, schnell und sicher

Session
Dieser Talk stammt aus dem Archiv. zum AKTUELLEN Programm
Bis Konferenzbeginn ✓ Kollegenrabatt ✓ Bis zu 256 € sparen Jetzt anmelden
Infos
Dienstag, 24. April 2018
11:30 - 12:30

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.

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

Behind the Tracks of W-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