当前位置: 首页 > news >正文

Spring Boot整合Druid与Dynamic-Datasource多数据源配置:从错误到完美解决

本文记录在Spring Boot 2.X项目中整合Druid连接池和Dynamic-Datasource多数据源时遇到的典型错误DataSource returned null from getConnection()的完整解决过程,包含详细的错误分析和解决方案。

问题背景

在Spring Boot 2.7项目中,我需要整合:

  • Druid:阿里开源的数据库连接池,提供强大的监控功能
  • Dynamic-Datasource:基于MyBatis-Plus的多数据源组件

配置完成后启动项目,出现以下关键错误日志:

SqlSession [...] was not registered for synchronization because synchronization is not active
13:46:49.312 WARN  c.alibaba.druid.pool.DruidDataSource [1144] 
- getConnection but jdbcUrl is not set,jdbcUrl=null,username=nullCaused by: org.springframework.jdbc.CannotGetJdbcConnectionException: 
Failed to obtain JDBC Connection: DataSource returned null from getConnection(): {CreateTime:"2025-06-03 13:46:41",ActiveCount:0,PoolingCount:0,CreateCount:0,DestroyCount:0,CloseCount:0,ConnectCount:0,Connections:[]
}

错误原因深度分析

1. 数据源初始化失败

  • 连接池状态显示所有计数为0,表明数据源未正确初始化
  • Druid报出jdbcUrl is not set,说明关键连接参数未注入

2. 配置冲突(核心原因)

  • Druid自动配置Dynamic-Datasource自动配置 冲突
  • 手动创建的DataSource Bean覆盖了动态数据源配置

3. 连接池冲突

  • Spring Boot默认使用HikariCP连接池
  • 未排除HikariCP导致连接池实现冲突

4. 多数据源配置问题

  • @DS注解指定的数据源名称与配置不一致
  • YAML配置格式错误,数据源参数未正确绑定

完整解决方案

步骤1:修正依赖配置(pom.xml)

<dependencies><!-- 排除默认连接池 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><exclusions><exclusion><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId></exclusion></exclusions></dependency><!-- Druid连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter

相关文章:

  • 1. 引言
  • SQL注入漏洞-上篇
  • Qwen2.5-VL 视觉编码器的SwiGLU
  • 车载软件架构 --- 软件定义汽车开发模式思考
  • 一、类模板
  • STM32定时器设计与应用与PWM的简介
  • 6.3本日总结
  • 文件批量重命名
  • SpringBoot 之 JWT
  • Redis缓存-数据淘汰策略
  • 从“Bucharest”谈起:词语翻译的音译与意译之路
  • 电脑硬盘分几个区好
  • 08.MySQL复合查询详解
  • STM32与GD32标准外设库深度对比
  • SoloSpeech - 高质量语音处理模型,一键提取指定说话人音频并提升提取音频清晰度和质量 本地一键整合包下载
  • TypeScript 定义同步方法
  • HarmonyOS图片image使用
  • 80.在服务器部署LLAVA模型
  • 【Doris基础】Apache Doris中的Fragment概念详解
  • Agno:使用简单代码构建AI智能体
  • 贵州凤冈新闻今天/seo网站推广的主要目的是什么
  • 网站怎么做电子合同/网络营销策划方案怎么做
  • 郑州网站建设及托管/全国疫情最新名单
  • 新余市建设厅网站/网站推广的基本方法有哪些
  • 优秀毕业设计网站设计/谷歌浏览器搜索引擎入口
  • 网站建设上海网站建设公司网站/阿里域名购买网站