Menü
Developer

Spring 5 unterstützt Reactive Programming und Java 9

Der erste Release Candidate enthält mit Spring WebFlux ein Framework, das auf dem Reactor-Projekt aufsetzt. Außerdem erweitern die Macher die Anbindung an Kotlin, und das Java-Framework unterstützt Java 9 inklusive der Modularisierung.

vorlesen Drucken Kommentare lesen

Das Spring-Team hat den ersten Release Candidate von Spring 5 veröffentlicht, der einige Neuerungen gegenüber der 4er-Linie des Java-Frameworks zu bieten hat. Die augenscheinlichsten beziehen sich auf die zugrunde liegende Java-Version: Spring 5 setzt vollständig auf Java 8 auf. Spring 4 hatte noch Java 6 als Minimalvoraussetzung, erlaubte jedoch die Verwendung von Java-8-Features wie Lambdas und der Date and Time API.

So wie das Java-Framework seinerzeit die Erweiterungen bereits vor dem offiziellen Erscheinen von Java 8 an Bord hatte, unterstützt es diesmal vorzeitig die Java-9-Features, darunter auch das als Jigsaw bekannte Modulsystem, dem der Java Community Process gerade die Zustimmung verweigert hat, was potenziell weitere Verzögerungen oder Änderungen zur Folge haben könnte. Auch bei der Enterprise-Variante von Java greift Spring dem Standard vor. So bietet es unter anderem die Java-EE-8-Features Servlet 4.0, Bean Validation 2.0 und JPA 2.2.

Eine wesentliche Neuerung in Spring 5 ist das Thema reaktive Programmierung, das in Form des Frameworks WebFlux, das auf Reactor 3.1 aufbaut, Einzug in die Software hält. Vereinfacht ausgedrückt erstellen Entwickler damit ereignisgetriebene Anwendungen, die Anfragen nichtblockierend bearbeiten und mit wenigen Threads gut skalieren sollen. Spring 5 unterstützt unter anderem die Bibliotheken RxJava[ ]1.3 und 2.1.

Außerdem haben die Macher die Anbindung an Kotlin erweitert. So kennt das Framework jetzt Kotlin Extensions. Beans lassen sich in Spring 5 über Lambdas genieren, und es gibt ein funktionales Webframework. Weitere Details zu den Neuerungen in Spring 5 lassen sich dem Blogbeitrag entnehmen. Nach der derzeitigen Planung soll das endgültige Release Ende Juni erscheinen und damit einen Monat vor der geplanten Veröffentlichung von Java 9 und Java EE 8. (rme)