Die freudige Nachricht: Spring Boot 2.0 ist verfügbar!
Spring Boot hat sich mittlerweile zum Standard-Framework für die meisten Spring-Projekte entwickelt. Es ist damit sehr einfach, neue Spring Projekte aufzusetzen. Einen Großteil des Konfigurationsaufwands wird dem Entwickler durch Konventionen abgenommen, sodass die Entwicklung der Fachlogik unmittelbar nach dem Erstellen des Projektes beginnen kann.
Vor diesem Hintergrund ist es natürlich sehr spannend zu sehen, was der zweite große Major-Release nach Version 1.0 (April 2014) alles zu bieten hat. Der Eindruck, dass sich in der Zwischenzeit nichts getan hat, mag ein wenig täuschen. Die Entwicklung von Spring Boot stand in der Zwischenzeit keinesfalls still. So brachten die Minor-Releases 1.1 bis 1.5 in den vergangenen fast vier Jahren immer wieder spürbare Verbesserungen mit sich. Stellt sich die Frage, warum man sich nun für eine neue Major-Version entschieden hat?
Java 9 statt 7
Spring Boot 2.0 bietet erstmals Unterstützung für Java 9. Zudem entfällt der Support für Java 7. Dies alleine wäre mit Sicherheit schon Grund genug für einen großen Versionssprung. Die Version 2.0 hat allerdings noch mehr zu bieten.
Spring 5 statt 4
Spring Boot nutzt das Spring Framework. Im September 2017 ist Spring 5 mit zahlreichen Änderungen im Kern des Frameworks erschienen. Spring Boot 2.0 verwendet nun diese verbesserte Version von Spring. Eine wesentliche Neuerung in Spring 5 ist die Möglichkeit, reaktive Anwendungen zu schreiben, um die Hardware-Ressourcen deutlich besser ausnutzen zu können.
Viele weitere Detailverbesserungen
Neben diesen beiden Hauptänderungen wurden zahlreiche Details verbessert. Die wichtigsten sind nachfolgend stichpunktartig aufgeführt:
- Neue Versionen einiger Third-Party-Libs: Tomcat 8.5, Flyway 5, Hibernate 5.2, Thymeleaf 3
- Das Gradle Plugin unterscheidet nun zwischen
bootJar
undbootWar
. Somit kann ohne Konfigurationsänderung ein JAR und ein WAR erstellt werden. - HTTP/2 Support
- Vereinfachungen bei Spring Security
- u.v.m.
Breaking Changes
Neben den vielen Neuerungen gibt es leider auch einige Breaking Changes, die bei einer Migration von älteren Versionen berücksichtigt werden müssen. Allen, die eine bestehende Spring Boot Anwendung zu Version 2.0 migrieren möchten, sei daher zum Abschluss der offizielle Spring Boot 2.0 Migration Guide ans Herz gelegt. Als ersten Schritt der Migration wird darin das neue Modul “spring-boot-properties-migrator” empfohlen, das bei der Migration behilflich ist und beispielsweise auf geänderte Konfigurationseinstellungen hinweist. Das Modul kann wie folgt in den Maven Build eingebunden werden:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-properties-migrator</artifactId> </dependency>
Trotz dieses kleinen Wermutstropfens freuen wir uns über die Erscheinung von Spring Boot 2.0. Damit wird auch sicherlich Spring 5 nochmal einen deutlichen Schub bekommen. Alle Projekte, die auf Spring Boot setzen, mussten bisher auf die in Spring 5 enthaltenen Verbesserungen verzichten und können nun nachziehen.