Spring Boot simplifies Java backend development by providing auto-configuration, embedded servers, production-ready features, and rapid development support. Here's a version-wise recap focusing on features that actually impact coding experience.
Spring Boot 1.x (2014)
- First release of Spring Boot
- Embedded Tomcat/Jetty β no external server needed
- Auto-configuration (core feature introduced)
- Spring Boot Starter dependencies (
spring-boot-starter-web) -
application.propertiesfor configuration π Foundation for rapid development in Spring.
Spring Boot 2.x (Major Evolution)
Spring Boot 2.0
- Based on Spring Framework 5
- Reactive programming with WebFlux
- Java 8+ required
- Actuator redesigned with
/actuator/*endpoints - Gradle plugin improved π Start of reactive and microservice-ready Spring.
Spring Boot 2.1
- Better Kubernetes support
- Enhanced Actuator metrics (Micrometer)
- Lazy initialization support
Spring Boot 2.2
- Java 11 support
- Reactive health indicators
- Startup time optimization
Spring Boot 2.3
- Docker & Container support
- Better Graceful Shutdown
- Improved tests
Spring Boot 2.4
- New config loading system
- Better support for external configs
- Removed
bootstrap.propertiesfor Spring Cloud
Spring Boot 2.5
- Improved embedded server performance
- Layered JARs for Docker image optimization
- Easier startup tracking and metrics
Spring Boot 2.6 β 2.7
- Deprecation of older patterns (MVC fallback)
- Spring Native & AOT (Ahead-of-Time compilation)
- Hints of moving toward Spring Boot 3 standards
π Spring Boot 2.x focused heavily on microservices, Docker, and reactive architectures.
Spring Boot 3.x (Current Stable Major)
- Java 17 required (minimum)
- Jakarta namespace migration (
javaxβjakarta) - Built on Spring Framework 6
- AOT & GraalVM Native Image support
- Better performance & memory footprint
-
@HttpExchange& declarative HTTP clients - Enhanced observability (Micrometer + Actuator) π Major breaking change due to Jakarta migration.
Summary Table
| Version | Key Highlights |
|---|---|
| 1.x | Embedded server, auto-config |
| 2.0 | WebFlux, Java 8+, Actuator redesign |
| 2.3 | Docker support, health checks |
| 2.4 | New config loading |
| 2.6β2.7 | Native image hints, AOT prep |
| 3.x | Jakarta migration, Java 17+, HTTP client |
What Should Developers Know Today?
| Area | Recommendation |
|---|---|
| New projects | Use Spring Boot 3.x |
| Native/GraalVM | Use Spring Boot 3.x with AOT |
| Legacy upgrades | Move from 2.x β 3.x (Jakarta migration) |
| Performance-focused apps | Watch for Spring Boot 4 & Loom |
Top comments (0)