You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

定义未标注@Primary的DataSource Bean是否会终止Spring自动配置?

Spring Boot多数据源自动配置规则说明
  • 核心结论:只要Spring容器中存在任意类型为DataSource的Bean(无论是否标注@Primary、无论Bean名称是否为dataSource),Spring Boot的DataSourceAutoConfiguration自动配置类都会直接失效,不会再自动生成默认的主数据源。
  • 原因:DataSourceAutoConfiguration类上声明了@ConditionalOnMissingBean(DataSource.class)条件,该条件的判断逻辑是——容器中只要存在任何DataSource类型的Bean(包括你自定义的第二个数据源),自动配置就会终止。
  • 解决方案:如果你需要配置两个数据源,必须手动配置主数据源(为其添加@Primary注解,确保它成为Spring默认使用的数据源),同时显式配置第二个数据源,无法依赖Spring自动生成主数据源。

内容的提问来源于stack exchange,提问作者horsemanwithnoname

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 22:20:21