Spring Boot uses `@EnableAutoConfiguration` plus conditional annotations to configure beans based on the classpath and properties (e.g., `@ConditionalOnClass`, `@ConditionalOnProperty`). Starters bring in dependencies, and auto‑config creates sensible defaults you can override.
Expanding on the short answer — what usually matters in practice:
A tiny example (an explanation template):
// Example: discuss trade-offs for "spring-boot-auto‑configuration:-how-does-it-work"
function explain() {
// Start from the core idea:
// Spring Boot uses `@EnableAutoConfiguration` plus conditional annotations to configure bean
}