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.