Spring Reactive: moderne REST Services mit WebFlux und Java

Zusammenspiel reaktiver Client und reaktiver Server mit Spring WebClient, WebFlux, Spring Data Reactive und MongoDB.

Ratings: 4.46 / 5.00




Description

Spring Reactive ist der moderne, reaktive und bessere Spring Technologie-Stack - perfekt zum Entwickeln von performanteren Web-Anwendungen und REST-Services. Spring Reactive ist die Grundlage des reaktiven Stacks. Es bietet eine Event-basierte, nicht blockierende Architektur. Dadurch holen Spring Reactive Anwendungen mehr Leistung aus ihren CPU-Ressourcen.


Spring Reactive ist vom Client über den Server bis zur Datenbank ein durchgängig reaktiver Stack und damit die effizientere Alternative zum klassischen Servlet-Stack. In diesem Kurs erkläre ich euch folgenden reaktiven Stack anhand von Code-Beispielen:

  • Spring WebClient der reaktive HTTP-Client zur Ablösung des klassischen RestTemplates.

  • Spring WebFlux die nicht blockierende Alternative zu Spring MVC.

  • Spring Data Reactive die einfache und performante Datenbank-Anbindung - am Beispiel MongoDB.


Zu Kursbeginn besprechen wir das reaktive Verschicken von HTTP-Requests mit dem Spring WebClient. Dazu verwenden wir die Datenströme Mono und Flux. Ich erkläre Mono und Flux ausführlich, zeige wie ihr sie verwendet und warum sie frei von Blockaden deutlich performanter sind.


Danach betrachten wir die Server-Seite mit Spring WebFlux. Ich zeige wie ihr die Threads eures Servers optimal ausnutzt bzw. nicht blockiert. Dadurch holt ihr unter entsprechender Last das Maximum aus eurer CPU heraus. Ihr lernt mit den reaktiven Datenströmen Mono und Flux eine REST-API umzusetzen und die Daten im Datenstrom reaktiv zu bearbeiteten.


Mit Spring Data Reactive binde ich ein MongoDB als NoSQL Datenbank an und komplettiere damit den Technologie-Stack. Ich erkläre im allgemein Spring Data und wie ihr eine reaktive Kommunikation mit eurer Datenbank implementiert. Dazu bauen wir Mono- und Flux-Datenströme vom Client über den Server bis zur Datenbank und wieder zurück auf.


Im Kurs siehst Du das Update der reaktiven Anwendung auf Spring Framework Version 6 mit Hilfe von Spring Boot 3. Außerdem bauen wir ein natives Image mit der GraalVM, welches den Blitzstart unserer Anwendung in einem Bruchteil einer Sekunde ermöglicht.


Der Kurs wurde bereits um das erste Bonus-Kapitel Spring Boot für Anfänger erweitert. Dort spreche ich über die wichtigsten Features von Spring Boot und erkläre wie ihr eine saubere Maven Konfiguration bekommt.


In den Videos dieses Kurses programmiere ich mit Java einen Spring REST-Service, so dass die Videos bzw. der entwickelte Code sich zu einem praxisnahen, größeren Beispiel zusammensetzen. Um die Themen gut verständlich mit kompaktem Code zu erklären, folge ich den Best-Practices des Unit- und Integrations-Tests.


Als Software Entwickler und Architekt baue ich viele Spring Anwendungen. Für neue Technologien begeistere ich mich seit über 15 Jahren beruflich. Privat blogge ich regelmäßig zu diesen Themen. Meinen Kollegen bei der Deutschen Telekom biete ich Live Coding Sessions an, in denen ich neue Technologien vorstelle. Mit diesem Kurs bringe ich euch diese Coding Sessions in ausführlicher und optimierter Form.

What You Will Learn!

  • Du lernst den modernen und performanten Spring Reactive Technologie-Stack kennen.
  • Du lernst den Spring WebClient zum Verschicken von synchronen und asynchronen HTTP-Requests kennen.
  • Du lernst Spring WebFlux kennen, die reactive Alternative zum Servlet Stack für Webservices und REST-APIs.
  • Du lernst, wie man mit Spring Data Reactive mit einer noSQL bzw. Mongo Datenbank performant interagiert.
  • Du siehst das Update auf Spring Version 6 mit Spring Boot 3 und native Image für den Blitzstart unserer Anwendung.
  • Als Bonus lernst Du die wichtigsten Features von Spring Boot kennen, um künftig saubere Maven Konfiguration zu erstellen.

Who Should Attend!

  • Der Kurs richtet sich an EntwicklerInnen mit Kenntnissen von Webservices.