Neuerungen in Spring 6 und Spring Boot 3

Anfang September wurde auf der SpringOne bekannt gegeben, dass eine neue Version von Spring – Spring 6 – in Planung ist. Die Änderungen sollen Spring insbesondere zukunftssicher machen. Erste Details und eine Roadmap folgen nun:

Grundsätzlich ist zwischen Milestone Build (M), Release Candidate (RC) und General Availability (GA) zu unterscheiden. Von November 2021 bis Juni 2022 sind vier zwar unvollständige, aber dennoch einigermaßen stabile Milestone Releases zu erwarten. Ab Juli 2022 können wir dann mit dem ersten Release Candidate rechnen. Dieser sollte schon vollständig und ziemlich stabil sein, Probleme können selten und geringfügig vorkommen. Dennoch wird es sich lohnen, diese zu melden, damit sie bis zur Veröffentlichung behoben werden können. Nach zwei weiteren Release Candidates, können wir dann im Oktober 2022 – also fast ein Jahr später – mit der General Availability rechnen. Dieser soll sehr stabil sein und alle Funktionen enthalten. Hier im Überblick die Roadmap:

  • 6.0 M1 im November/Dezember 2021
  • 6.0 M2
  • 6.0 M3
  • 6.0 M4
  • 6.0 RC1 im Juli 2022
  • 6.0 RC2
  • 6.0 RC3
  • 6.0 GA im Oktober 2022

Danach könnte sich der Release-Rhythmus für Spring ändern. Von bisher jährlichen zu einem halbjährlichen Zyklus. Ähnlich wie bei Spring Boot.

Doch was ändert sich konkret? Eine auf den ersten Blick einschneidende Änderung ist die Erforderlichkeit von Java 17. Dabei gilt es zu beachten, dass zu dem Release Oktober 2022 bereits Java 19 veröffentlicht sein wird. Dementsprechend werden bis dahin einige Anwendungen bereits Java 17 verwenden. Und mit Java 17 als LTS (long term support) Version soll Spring so zukunftssicher werden. So zumindest Jürgen Höller der Co-Founder des Spring Frameworks.

Wer also beabsichtigt, weiter auf JDK 8 oder 11 zu bleiben, kann davon ausgehen, dass die Wartung von Spring Framework 5.3.x und Spring Boot 2.x die nächsten Jahre fortgeführt wird. Des Weiteren ist für die Jakarta EE 9 Kompatibilität Tomcat 10 / Jetty 11 notwendig.

Spring Observability ist eine neue Initiative in Spring 6 und zeichnet Metriken mit Micrometer auf und bietet Tracing über Anbieter wie Zipkin oder OpenTelemetry. Spring Observabability funktioniert in nativ kompilierten Spring Anwendungen, und als Teil des Spring Kernframeworks wird es effektiver Informationen liefern können.

Es gibt nicht nur Neuerungen, sondern es werden auch veraltete Funktionen entfernt. Dazu einige genannte Beispiele:

  • veraltete Kernfunktionen von Containern – z. B. die automatische Zuordnung von Settern nach Name/Typ
  • veraltete Konfigurationsvarianten – z. B. bestimmte FactoryBean-Anordnungen
  • veraltete Konfigurationseinstellungen – z. B. bestimmte webbezogene Optionen

Zu Spring Boot 3 wurden während der SpringOne auch ein paar Worte gesagt. Beim kommenden Spring Boot 3 Release ist klar, dass es Spring 6 verwenden wird. Es gibt jedoch noch kein Veröffentlichungsdatum. Des Weiteren wurde von einem „First-class support for native executable deployment“ in Spring Boot 3 gesprochen, dazu soll Folgendes umgesetzt werden:

  • Spring Boot-Starter für native Anwendungen
  • Build-Plugins und native Konfigurationshinweise
  • Unterstützung für bestimmte GraalVM-Versionen
Short URL for this post: https://blog.oio.de/y2o8j
This entry was posted in Spring Universe and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *