Skip to content
进阶

一句话答案

Starter 是依赖+自动配置的封装,引入依赖后 spring.factories 注册自动配置类,@Conditional 条件过滤按需加载。

核心要点

原理: 1.引入starter依赖 → 2.spring.factories注册AutoConfiguration类 → 3.@Conditional条件判断 → 4.自动创建Bean

自定义Starter: 创建 autoconfigure 模块 + starter 模块,在 META-INF/spring.factories 注册

追问与易错

追问方向:

  • spring-boot-starter 和 -xxx 区别?
  • spring.factories 在 Boot 3 还能用吗?
  • 怎么排查自动配置不生效?

易错点:

  • ❌ 引入 Starter 所有 Bean 都创建——@Conditional 会过滤
  • ❌ 混淆 Boot 3 和 2 的发现机制

💡 记忆锚点

Starter = 即插即用的配件包:引入依赖(插上U盘) -> spring.factories自动注册配置类(驱动自动安装) -> @Conditional按需加载(只装你需要的驱动)。自定义Starter就是自己造一个配件包给别人用。