Spring Framework 6 im Überblick: Major-Version setzt Java 17 voraus
Spring setzt in der neuen Version 6 Java 17 voraus und wechselt zu Jakarta EE 9+. Außerdem bietet es Support für Native Image.
- Michael Simons
Die ersten Releasekandidaten von Spring Framework 6 und Spring Boot 3 stehen bereit. Zwanzig Jahre nach dem ersten Release des Spring Framework erscheint nun Ende 2022 die sechste Major-Version, zusammen mit Spring Boot 3. Spring Boot wird mittlerweile synonym mit Spring verwendet, Änderungen und Neuerungen sind daher gemeinsam zu betrachten.
Um Spring-6-Anwendungen zu kompilieren, braucht es jetzt Java 17. Jürgen Höller, Entwicklungsleiter und Mitgründer von Spring Framework, hatte dies bereits im September 2021 zur SpringOne angekündigt. Was damals noch ambitioniert klang (Java 17 LTS wurde ebenfalls im September 2021 veröffentlicht), ist vor dem Hintergrund dynamischer Java-Releases – aktuell ist Java 19 – eine vernünftige und notwendige Entscheidung. Die letzte Spring-Version, die eine neue Java-Version voraussetzte, war Spring 5 und erschien 2017 – drei Jahre nach Veröffentlichung von Java 8.
Die Probleme von Bibliotheken und Build-Tools mit Java-Versionen jenseits 8 sind mittlerweile lange gelöst, Probleme mit dem Modulsystem oder den stärkeren Einschränkungen unsicherer Klassen (sun.misc.Unsafe
etc.) haben nur noch wenige Auswirkungen: Nicht nur das Ausführen von mit Java 8 kompilierten Anwendungen auf Java 17 gelingt problemlos, sondern auch das Kompilieren älteren Sourcecodes.