Spring Boot
Spring Boot is a Java framework built on top of the Spring Framework that eliminates most manual configuration through auto-configuration and convention over configuration, letting developers create stand-alone, production-ready…
Definition
Spring Boot is a Java framework built on top of the Spring Framework that eliminates most manual configuration through auto-configuration and convention over configuration, letting developers create stand-alone, production-ready applications with minimal setup.
Overview
Spring Boot was released by Pivotal in 2014 to address a long-standing complaint about the Spring Framework: setting up a new Spring application required extensive, error-prone XML or Java configuration. Spring Boot instead auto-configures sensible defaults based on the libraries present on the classpath. "Starter" dependencies, such as spring-boot-starter-web or spring-boot-starter-data-jpa, bundle compatible library versions and trigger auto-configuration classes that wire up an embedded server (Tomcat, Jetty, or Undertow), database connections, and messaging without manual setup. Spring Boot Actuator exposes production-ready endpoints for health checks and metrics, and the broader Spring ecosystem — Spring Security, Spring Data, Spring Cloud — plugs into Boot the same way. Spring Boot is the dominant framework in enterprise Java, deeply integrated with Kubernetes and commonly deployed inside Docker containers. It faces competition from newer, faster-starting frameworks like Quarkus for cloud-native workloads, while remaining the default choice for most Java teams; SkillVeris covers it in the Java Spring Boot course.
Key Features
- Auto-configuration that wires up sensible defaults based on classpath dependencies
- Embedded servers (Tomcat, Jetty, Undertow) — no external app server required
- Starter dependencies bundling compatible library versions
- Spring Boot Actuator for health checks, metrics, and monitoring endpoints
- Deep integration with the broader Spring ecosystem (Security, Data, Cloud)
- Executable "fat JARs" that package the app and its dependencies together