Plain Spring gives you huge flexibility but requires a lot of manual XML/Java configuration. Spring Boot layers auto-configuration, starter dependencies and an embedded server on top, so a working app can be running in minutes.
- Auto-configuration — sensible defaults based on what's on the classpath
- Starter dependencies — one dependency pulls in everything a feature needs
- Embedded server — Tomcat/Jetty/Undertow bundled in, no separate deploy step
- Production-ready features — health checks and metrics via Actuator
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}Tip
Say it in one line: 'Spring Boot = Spring + auto-configuration + embedded server + starters.'