Il peso dello Spring classico
Spring Framework (2003) è il più diffuso framework Java enterprise. Offre IoC/DI, AOP, transazioni, MVC. Ma configurazione XML verbosa, deployment su application server pesanti (Tomcat, JBoss, WebLogic), progetti grandi con centinaia di bean richiedono configurazione complessa. Boilerplate massiccio.
Il rilascio
Spring Boot 1.0 è pubblicato da Pivotal (ora VMware Tanzu) il 1° aprile 2014. Lead developer: Phil Webb, Dave Syer. Mission: rendere Spring “production-ready” in minuti, non settimane. Licenza Apache 2.0.
@SpringBootApplication
@RestController
public class DemoApplication {
@GetMapping("/")
String home() { return "Hello, World"; }
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Caratteristiche
- Auto-configuration — beans creati automaticamente basati su classpath
- Embedded server — Tomcat/Jetty/Undertow inclusi nel JAR,
java -jar app.jar - Starters —
spring-boot-starter-web,-data-jpa,-securitybundle di dipendenze - Opinionated defaults — configurazione ragionevole senza XML
- Actuator — endpoint per health, metriche, info, env, beans, mappings
- Externalised config — properties/YAML, profiles (dev/prod)
- DevTools — hot reload in sviluppo
Versioni principali
- 1.0 (aprile 2014) — Java 6+, Spring 4.0
- 1.5 (2017) — stabilizzazione
- 2.0 (marzo 2018) — Java 8+, Reactive (WebFlux), Micrometer
- 2.3 (2020) — GraalVM supporto sperimentale
- 3.0 (novembre 2022) — Java 17+, Jakarta EE (javax → jakarta), native image GraalVM
- 3.2 (novembre 2023) — Java 21, virtual threads (Project Loom)
- 3.4 (novembre 2024) — stabilizzazioni
Ecosistema Spring
Con Spring Boot l’ecosistema Spring esplode:
- Spring Data — JPA, MongoDB, Redis, Elasticsearch, Cassandra
- Spring Security — auth, OAuth2, JWT, method security
- Spring Cloud — microservizi (Config, Gateway, Eureka service discovery)
- Spring Batch — job batch
- Spring Integration — enterprise integration patterns
- Spring WebFlux — reactive programming
Concorrenti
- Quarkus (2019, Red Hat) — native image focus, startup ms
- Micronaut (2018, Object Computing) — compile-time DI
- Dropwizard — minimal
- Play Framework (Scala/Java)
- Helidon (Oracle)
Nel contesto italiano
Spring Boot domina lo stack backend enterprise Java italiano:
- Banche — Intesa Sanpaolo, UniCredit, Banca Sella (Java Spring è standard)
- Assicurazioni — Generali, UnipolSai, Allianz
- Telco — TIM, Vodafone, Fastweb (micro-servizi Spring Boot)
- PA digitale — progetti SPID, PagoPA, FSE 2.0
- Fintech — challenger bank, neobank italiane
Quasi tutti i bootcamp Java italiani insegnano Spring Boot come default.
Riferimenti: Spring Boot 1.0 (1° aprile 2014). Pivotal (ora VMware Tanzu). Phil Webb, Dave Syer. Licenza Apache 2.0. Auto-configuration, embedded server, starters. Spring Boot 3.x Java 17+, Jakarta EE, native image GraalVM.
