Introduction to Spring Boot 3: What Are The Most Significant Changes?

spring-boot-2

Spring Boot 3.0 has brought numerous exciting features and updates to the market. Late last year, Spring Boot 3.0 became the first major upgrade in over 4.5 years. With more than 74% of Java developers using Spring Boot, the upgrade is having impactful changes across the industry. 

 

What is Spring Boot?

Spring Boot is an open-source extension of the Spring Framework that hosts third-party libraries that help developers jump-start applications for production. It allows developers to focus on the application’s business logic rather than configuration, making the tool an industry favorite. 

The tool was created by Pivotal Software and has been upgraded approximately every four years. The first version, Spring Boot 1.0, was released in 2014, Spring Boot 2.0 in 2018, and now Spring Boot 3.0 in November 2022. 

 

spring-boot

 

What’s New With Spring Boot 3.0

Spring Boot 3.0’s launch came with an abundance of new, innovative features. Below are some of the most significant changes happening on the network:

 

1. Java 17 Baseline with Java 19 Support

With the latest upgrade, Java 17 is now the baseline needed to use Spring Boot 3.0. The newest version will not work with JDK 8 or 11, so developers will need to update to JDK version 17 or newer. Fortunately, Spring Boot 3.0 is also tested with JDK 19, allowing developers to use the most advanced Java JDK software. 

2. Jakarta EE 9

One of the most important upgrades is the change from Java EE to Jakarta EE9. Because the package namespace changed from javax.* to Jakarta.*, users will need to adjust all imports in their code whenever using classes from Java EE directly. 

Users should also understand that when using external libraries that depend on Java/Jakarta EE, changing the namespace will be crucial for avoiding coding errors. 

3. Log4j2 Enhancements

Another exciting feature for developers is the introduction of new Log4j2 extensions, including the following features. 

Profile-specific Configuration

The <SpringProfile> tag lets developers create custom configurations based on active Spring profiles. 

Environment Properties Lookup

With Spring Boot 3.0, developers can look up properties from Spring Environment with their Log4j2 configurations. 

Log4j2 System Properties

Log4j2 can support numerous System Properties that developers can use to configure various items. 

4. Observability with Micrometer and Micrometer Tracing

Spring Boot 3.0 has introduced Spring Observability, built upon Micrometer and Micrometer tracing. Now, developers can record various application metrics and provide tracing support to tools such as OpenZipkin and OpenTelemetry. 

5. GraalVM Native Image Functionality

Native Image support was one of the most anticipated changes with the upgrade. With Spring Boot 3.0, developers can convert applications directly into GraalVM native image. Native image enables fast application start times, resulting in sizeable memory consumption improvements. 

spring-boot-2

Upgrading to Spring 3.0

Spring Boot 3.0 is an exciting upgrade that will unboundedly improve development times and enhance application abilities across the board. While the above list highlights the upgrades of the tool, users can get the full release notes on Spring’s website. 

Remember, before upgrading to Spring Boot 3.0, it’s recommended to switch over to at least Java 17 and upgrade Spring in increments rather than skipping install versions. 

Subscribe to our newsletter!