As announced at SpringOne yesterday, Spring Framework 6 and Spring Boot 3 are planned towards a high-end baseline for their general availability in Q4 2022:
- Java 17+ (from Java 8-17 in the Spring Framework 5.3.x line)
- Jakarta EE 9+ (from Java EE 7-8 in the Spring Framework 5.3.x line)
This forward-looking baseline will provide significant benefits in our API design and integration efforts, shining through to your application code and future-proofing the framework as well as your applications for many years to come. However, it comes at a cost, of course: Spring Framework 6 and Spring Boot 3 based applications will require a minimum of JDK 17 at runtime, as well as a minimum of Tomcat 10 / Jetty 11 (for Jakarta EE 9 compatibility). Even more importantly, there might be some changes required in your application source code: e.g. the javax to jakarta namespace change in Jakarta EE 9 wherever you’re touching the Servlet API, JPA, Bean Validation, etc.
While this may sound aggressive at first, keep in mind that we’re talking about a Q4 2022 release: By that time, not only will JDK 17 have superseded JDK 11 as the next Long-Term Support release for more than a year, it will itself have been superseded by JDK 18 and JDK 19 as then-available feature releases, with JDK 20 approaching its feature freeze already. Same for Jakarta EE 9: We expect Jakarta EE 10 to be out by then, and yet another generation of Tomcat, Jetty and co to be supported as runtime options. Keeping up the baseline above as a minimum, this allows for picking up further Java evolution in the Spring Framework 6.x generation, with Java 17 and Jakarta EE 9 only being the start.
Der erste Milestone Spring Boot 3.0.0-M1 ist mittlerweile eingetrudelt: https://spring.io/blog/2022/01/20/spring-boot-3-0-0-m1-is-now-available
Mitte 2022 beginne ich mit einem neuen Buch. Thema: Spring Boot 3 und Spring Framework 6. Wer bereit ist, aktiv Feedback zu geben, kann sich als Probeleser*in gerne melden, dann schicke ich Kapitel für Kapitel zu. Google-E-Mail: ullenboom@
Für Spring Boot 2 und Spring Framework 5 gibt es von mir auch eine Videoserie für Dependency-Injection.