In this article, we’re going to discuss Spring Framework and Spring Boot versions and which Java version works on each one.
When you work with the Spring environment, maybe you are familiar with both Framework and Boot. Also, we can use just one of them to create an application as well.
But, for sure that what version we need and the tools available are important on each one.
In the next sections, I will show the differences that we find between Framework and Boot.
2. Spring Framework
The Spring Framework was created to support developers with the application building. Also, its module’s structure helps on the concerns of each layer of an application such as:
- Core – Spring Beans, Spring Context, Spring Core
- AOP, Aspects, Messaging
- Data Access/Integration – Spring JDBC, Spring ORM, Spring JMS
- Web – Spring MVC, Spring Servlet, Spring Websocket
You can see more details about that in my previous article about Modules of Spring Architecture.
Currently, the Spring Framework is on version 5.3.6 from the date that this article is published, but you can always check the latest version on the official site.
3. Spring Boot
Spring Boot is basically an extension of Spring Framework, with the difference that’s widely used to develop REST APIs.
Also, Spring Boot was designed to create stand-alone applications with less configuration, instead of Spring Framework that requires more configuration and code for minimal tasks (boilerplate code).
The most recent version of Spring Boot is the 2.4.5, but again, check on the official site to know the right one.
4. Java support
Both Spring Framework and Spring Boot have support for Java 16, the latest release of JDK. Furthermore, we can say that they walk together on Java support.
Below, I put the Spring Framework support on Java version ranges:
- Spring Framework 5.3.x: JDK 8-17 (expected)
- Spring Framework 5.2.x: JDK 8-15
- Spring Framework 5.1.x: JDK 8-12
- Spring Framework 5.0.x: JDK 8-10
- Spring Framework 4.3.x: JDK 6-8
The expected word above means that they’re considering that Spring Framework will supports the next JDK version (17).
More details about version find here.
5. What Spring version should I use?
This question is not so easy to answer, however, depends on the type of application you’ll develop. Further, we can explorer both Spring versions and see which is more suitable for the application.
I could say if we want an application that works as a service and needs fast development approach: go with Spring Boot.
But, when the application needs an entire environment like integration with other systems, messaging management, loosely coupled applications… So go with Spring Framework.
Moreover, even with the boilerplate on Spring Framework, we can’t afford some specificities from the framework, but we need to understand what will be the size of the application and be prepared for everything.
In conclusion, we saw the differences between the Spring Framework and Spring Boot. Also, we could see the support offered for Java versions and a little tip about which version we could use to develop applications.