Domain-Driven-Design-Persistenz mit Spring Data JDBC

Wir werden Spring Data JDBC in diesem Workshop gründlich kennenlernen. Dabei betrachten wir sowohl die Features von Spring Data JDBC als auch die Architekturgrundlagen, welche im Domain Driven Design und den Abstraktionen von Aggregate und Repository begründet sind.

Wir beginnen mit einfachen CRUD-Repositories. Dann erweitern wir sie mit eigenen Queries und Custom-Implementierungen von Methoden, bis wir an die Grenzen von Spring Data JDBC kommen. Dann werden wir uns den Konzepten widmen, die diese Grenzen begründen und wie man in seinen Anwendungen mit diesen bewussten Einschränkungen arbeiten kann und daraus sogar Vorteile ziehen kann.

Vorkenntnisse

* Solide Kenntnisse von Java und einer IDE werden vorausgesetzt.
* Ebenso sollten die Grundlagen von SQL, relationalen Datenbanken und Git vorhanden sein.
* Erfahrungen mit Spring, Spring Data und Spring Boot sind hilfreich, aber nicht notwendig.

Lernziele

Nach diesem Workshop sind die Teilnehmer in der Lage:

* Spring Data JDBC zu nutzen um die Persistenzschicht einer Anwendung zu implementieren.
* zu beurteilen, wie sich die Wahl von Spring Data JDBC auf die Architektur ihrer Anwendung auswirkt.
* die Design-Grundlagen von Spring Data JDBC auch unabhängig von diesen zu nutzen, um die Persistenzschicht einer Anwendung modularer zu gestalten.

Agenda

ab 9:00 Uhr: Registrierung und Begrüßungskaffee

10:00 - 12:00 Uhr

  • Was ist Spring Data?
  • Erstes Beispiel mit Spring Data JDBC
  • Spring Data JDBC vs Spring Data JPA
  • Aggregate in DDD und M:x Beziehungen Spring Data JDBC Theorie

12:00 - 13:00 Uhr: Mittagspause

13:00 - 14:30 Uhr

  • Aggregate in DDD und M:x Beziehungen Spring Data JDBC Praxis
  • ID-Generierung
  • Unterstützte Datentypen
  • Converter

14:30 - 14:45 Uhr: Kaffeepause

14:45 - 16:15 Uhr

  • Embedded Instanzen
  • @Query Annotation
  • Custom Methods

16:15 - 16:30 Uhr: Kaffeepause

16:30 Uhr

  • Integration in Spring Data Rest
  • Q&A

ca. 18 Uhr: Ende

 

Technische Anforderungen

Rechner mit installierter Java IDE sowie installiertem und eingerichtetem Git. Die Rechner müssen leistungsfähig genug sein, um ein kleines Spring-Boot-Projekt zu bearbeiten, mit Maven zu übersetzen und Tests bzw. die Anwendung zu starten. Wir werden mit Maven und Git auf das Internet zugreifen. Daher sind Proxys und Sicherheitssoftware potentiell ein Problem. Adminrechte sollten nicht notwendig sein, wenn oben genannte Software installiert und eingerichtet ist.

Speaker

 

Jens Schauder
Jens Schauder hat vor langer Zeit auf einem in Assembler programmierbaren Tischrechner angefangen zu programmieren. Nach über 30 Jahren, davon fast 20 als Consultant für meist große Konzerne, hat er es 2017 geschafft sich beim Spring-Data-Team einzuschleichen. Dort arbeitet er meist an den Modulen JPA und JDBC, erzählt davon auf Konferenzen oder hilft anderen Entwicklern auf Stack Overflow.

Herbstcampus-Newsletter

Sie möchten über den Herbstcampus
auf dem Laufenden gehalten werden?

 

Anmelden