Spring Boot Introduction
Spring Boot is an opinionated layer on top of the Spring Framework that removes 90% of the boilerplate Spring used to require.
Introduction
Spring Boot is an opinionated layer on top of the Spring Framework that removes 90% of the boilerplate Spring used to require. It bundles an embedded Tomcat/Jetty/Undertow server, auto-configures common components, and lets you ship a runnable JAR with one command: java -jar app.jar.
Where classic Spring needed XML and 30 lines of config to expose a single endpoint, Spring Boot needs three annotations.
Understanding the topic
What Spring Boot solves:
- Auto-configuration — sees you have
spring-data-jpa+ H2 on classpath → wires DataSource, EntityManager, transaction manager automatically. - Starters — curated dependency bundles (
spring-boot-starter-web,-data-jpa,-security) with versions that work together. - Embedded server — no WAR, no external Tomcat. The JAR is the server.
- Production-ready — Actuator endpoints (
/health,/metrics) ship out of the box. - Convention over configuration — sensible defaults you can override.
Informative example
A complete Spring Boot REST API in 12 lines:
@SpringBootApplication@RestControllerpublic class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}@GetMapping("/hello")public Map<String, String> hello() {return Map.of("message", "Hello, backend world!");}}
Real-world use
Spring Boot's auto-configuration + starter model is why teams at scale (Netflix, ING Bank, eBay) can spin up new microservices in hours, not weeks. Standardised dependencies = fewer bugs at the seams between services.
Best practices
- Use Spring Initializr (
start.spring.io) to bootstrap every project. - Pin the Spring Boot version in your parent POM — let it manage transitive versions.
- Don't fight the framework: if you're writing 200 lines of config, you're missing a starter.