Spring Boot自定义Starter补充说明

57 阅读1分钟

一、自定义 Starter 的核心原理

Spring Boot Starter 的本质是自动配置(AutoConfiguration) ,通过约定优于配置的原则,自动加载相关 Bean、配置类等,减少手动配置。其核心依赖于:

  • @Conditional 注解:根据条件(如类是否存在、配置是否生效)决定是否加载 Bean。
  • spring.factories 文件:指定自动配置类的全路径,让 Spring Boot 启动时扫描并加载。
  • Starter 模块:通常包含自动配置类、依赖管理、默认配置等。

二.关键注解说明

注解作用
@Configuration标识为配置类
@EnableConfigurationProperties启用配置属性类(绑定@ConfigurationProperties
@ConditionalOnClass当类路径中存在指定类时生效
@ConditionalOnMissingClass当类路径中不存在指定类时生效
@ConditionalOnBean当容器中存在指定 Bean 时生效
@ConditionalOnMissingBean当容器中不存在指定 Bean 时生效(允许用户覆盖)
@ConditionalOnProperty根据配置项的值决定是否生效

三.注意事项

  1. 版本兼容:Starter 的 Spring Boot 版本需与使用项目兼容,避免依赖冲突。
  2. 可扩展性:通过@ConditionalOnMissingBean允许用户自定义 Bean 覆盖默认实现。
  3. 配置提示:添加spring-boot-configuration-processor依赖,提升开发体验。
  4. 避免过度封装:Starter 应聚焦单一功能,避免集成过多无关依赖。