Spring Boot Auto-Configuration Source Code: Nail This Interview Question Spring Boot auto-configuration is triggered by the `@EnableAutoConfiguration` annotation, which imports `AutoConfigurationImportSelector`. This selector uses Spring’s SPI mechanism to read configuration classes listed in `META-INF/spring/...AutoConfiguration.imports`, then applies conditional annotations like `@ConditionalOnClass` and `@ConditionalOnMissingBean` to load only relevant beans. This approach implements convention-over-configuration by automatically configuring beans based on available dependencies and user-defined overrides. After thousands of interview communications, one pattern is clear: interviewers love asking about Spring Boot auto-configuration. @SpringBootApplication → @EnableAutoConfiguration → @Import AutoConfigurationImportSelector.class → selectImports → SpringFactoriesLoader → reads META-INF/spring/...AutoConfiguration.imports @ConditionalOnClass {DataSource.class} // Only if dependency exists @ConditionalOnMissingBean DataSource.class // User's custom bean wins Interview-winning answer: "Spring Boot reads AutoConfiguration.imports via SPI, loading all config classes with @ConditionalOnXxx guard conditions. This is convention-over-configuration at the framework level." 📊 More: Java Interview Arsenal — 40+ free tools, all open source.