Spring Boot 核心作用?
简化配置、内置服务器、自动依赖、快速开发。
核心四大特性?
自动配置、起步依赖、内嵌容器、监控 Actuator。
自动配置原理?
@EnableAutoConfiguration + SPI 加载自动配置类,条件注解按需生效。
条件注解有哪些?
@ConditionalOnClass、@ConditionalOnMissingBean、@ConditionalOnProperty。
Starter 是什么?
封装好的依赖组合,一键引入整套依赖。
自定义 Starter 步骤?
写配置类→配置属性→META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration 配置 SPI。
配置文件 yml 和 properties 区别?
yml 层级清晰,更简洁;properties 优先级更高。
多环境配置怎么切换?
application-dev.yml、application-prod.yml,spring.profiles.active 指定。
@ConfigurationProperties 配置绑定?
把 yml 配置自动绑定到实体类。
Spring Boot 内嵌什么容器?
默认 Tomcat,可切换 Jetty、Undertow。
Actuator 作用?
监控健康状态、内存、线程、接口、配置信息。
怎么关闭自动配置?
@EnableAutoConfiguration (exclude = xxx.class)。
Spring Boot 全局异常和 MVC 区别?
Boot 全局异常统一接管所有接口异常。
异步任务怎么实现?
@EnableAsync + @Async。
定时任务怎么实现?
@EnableScheduling + @Scheduled (cron = "")。
怎么整合 Redis?
引入 spring-boot-starter-data-redis,直接使用 RedisTemplate。
Spring Boot 2.x 和 3.x 区别?
3.x 最低 JDK17,部分包更名,底层升级。
Bean 和配置类加载顺序?
先启动引导类→加载自动配置→扫描自定义 Bean。
怎么排除自动配置类?
启动类注解 exclude 排除。
Spring Boot 配置优先级?
命令行 > 外部配置 > yml > properties。