A Look at New Features in Spring Framework 6
Spring Framework is an open source Java framework that has been around since the early 2000's and as such, is a developer favorite. In November of 2022, Spring 6.0 went GA, with substantial changes to the original framework.
In this blog, we dive into some of these changes and explain why we are excited about them (and why you should be too!).
Keep reading to learn more about these exciting new features:
Back to top
How Popular Is Spring Framework?
How many developers are using Spring in 2022? Find out in the 2023 Java Developer Productivity Report.
Spring 6 New Features
Java 17 Support Added
Java 17 is now the baseline LTS support version of Java. With the release of Spring 6, there is now a supported version of Java 17 available for the cutting edge of Java development. Upgrading a project to a new framework version can be a painful process, but gaining the benefits of the language features added in Java over the years is something worth considering.
This is also interesting as most frameworks and application servers used in the Java community right now offer much more incremental updates (two STS updates a year and one LTS update every two years for JDK updates), leading to a much more fluid upgrade requirements to maintain the latest and greatest technology stack.
Java 17 was released over a year before this release. Spring does plan to have Spring 6.1 GA release in November 2023. This release is slotted to have support for JDK 21, which will be released in September of 2023. This perhaps signals a shift in corresponding releases closer to Java LTS releases. This is a considerable increase in Spring's expectations when it comes to supporting the LTS versions of Java.
Some major features added that impact Spring development range from Records, Sealed classes, and modules.
Related Reading 📗Java 17 Features
Transition to Jakarta EE 9/10
With the updates that have been made in Jakarta EE from JavaEE, one of the biggest needs within Spring 6 was moving to the JakartaEE namespace. Most APIs are no longer using the JavaEE namespace and Spring supporting the Jakarta namespace allows it to work with a number of different applications. This transition is a big deal for development teams as all future updates will require Jakarta EE 9+ instead of JavaEE 8.
With the support for new Jakarta EE, this allows for application servers that are moving to Jakarta EE to be supported with Spring 6. This move towards more regular transition is occurring across the Java technical landscape impacting all applications.
Related Reading 📗 Jakarta EE Overview
GraalVM Support Added
GraalVM support allows for a number of important aspects added including Ahead-Of-Time build process. Basically, this adds some steps to the build process for Spring applications. This is meant for smaller packaged environments that you may be using locally.
This provides users with the unique ability to choose the build process that is most beneficial for their environment. This can mean superseding certain aspects of the application build process in order to reduce startup time or memory footprint of the application in production.Back to top
Spring 6 Framework and JRebel
JRebel added support for Spring 6 with its 2022.3.2 release, making JRebel a perfect tool to use as you refactor your applications into the latest version of Spring. JRebel supports over 150 of the top Java technologies, ranging from Spring framework to Spring Boot and more.
Back to top
With JRebel, you can skip redeploys and get back to coding. See how much time JRebel can save you with a free 14-day trial.