Oliver Gierke Pivotal

Kaum ein anderes Stück Java-Technologie ist sich über eine so lange Zeit treu geblieben und hat sich gleichzeitig so fundamental neu erfunden.

Jürgen Höller Spring Framework

Die kommende Generation Spring 5 setzt auf Java SE 8 und Java EE 7 als Baseline für die Laufzeitumgebung.

Mark Paluch Pivotal

Der interessanteste Aspekt von Java EE 8 ist aus Spring-Sicht Servlet 4 mit seiner Unterstützung für HTTP/2.

Drei Jahre nach dem letzten Major-Release nähert sich die fünfte Version des Java-Application-Frameworks Spring in großen Schritten. Im Gepäck: ein Baseline-Upgrade auf Java 8+, Java EE 7+ sowie Unterstützung für reaktive Programmierung und ein funktionales Webframework. Grund genug, einen genaueren Blick auf die kommenden Neuerungen zu werfen.

Fast fünfzehn Jahre ist es her, dass Spring das Licht der Welt erblickte. Was als Beispielcode eines Buchs und Alternative zum damaligen J2EE-Standard begann, ist nun seit gut einer Dekade das am weitesten verbreitete Framework für Java-Applikationen. In dieser Zeit hat sich die Welt der Anwendungsentwicklung in Java ebenso fundamental geändert wie die Anforderungen, denen Java-Entwickler im Arbeitsalltag ausgesetzt sind. Die bisherigen vier Spring-Generationen bieten mitsamt des gesamten Ökosystems Konsistenz in Programmierkonzepten und widmen sich gleichzeitig aktuellen Trends. Es begann mit XML und entwickelte sich über Annotationen hin zu Java-basierter Konfiguration, setzte anfangs auf sehr explizite Konfiguration und reicht nun mit Spring Boot bis zu Convention over Configuration. Schauen wir also im Detail an, was uns in Version 5 erwarten wird: Java 8, Java EE 7, reaktive und funktionale Programmierung sowie frühe Unterstützung für Java 9, Java EE 8 und HTTP/2.

Hauptversionssprünge werden von Spring üblicherweise dazu genutzt, die Anforderung an die Ablaufumgebung für die mit ihm geschriebenen Programme neu zu definieren. Spring 4 setzte bislang sowohl Java SE als auch Java EE in Version 6 voraus. Neuere Laufzeitumgebungen – insbesondere JDK 8 – wurden automatisch erkannt und entsprechend unterstützt. Die kommende Generation setzt nun auf Java SE 8 und Java EE 7 als Baseline für die Laufzeitumgebung. Das bringt weitreichende Vorteile für das Framework.

Nicht nur alle Features des JDK 8, auch Servlet-API 3.1, JMS 2.0, Bean Validation 1.1 und JPA 2.1 lassen sich endlich voraussetzen und in der gesamten Codebasis verwenden. Jedoch entfällt dadurch auch die Unterstützung für OpenJPA, da zum jetzigen Zeitpunkt keine JPA-2.1-kompatible Implementierung dazu vorliegt, sowie für ältere Servergenerationen wie Tomcat <8.0 und WebSphere <8.5. Für Drittbibliotheken werden viele Mindestversionen angehoben, z. B. Jackson ab Version 2.6 und Hibernate ab 5.0. Komplett eingestellt wird die Unterstützung für das Portlet-API, Velocity, JasperReports, XMLBeans, JDO und auch für Guava als Cacheimplementierung. Letztere wird durch die Unterstützung dessen Nachfolgers Caffeine ersetzt, die schon in 4.3 eingeführt wurde. Nutzer betroffener Bibliotheken müssen also bei Bedarf auf Spring Framework 4.3.x bleiben, das mindestens bis 2019 weitergepflegt wird.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Java Magazin 5.17 - "Spring 5"

Alle Infos zum Heft
579793760Spring 5: Frühling für Enterprise Java
X
- Gib Deinen Standort ein -
- or -