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

Spring Boot多数据源配置报错:this.embeddedDatabaseConnection为null

配置Spring Boot多MySQL数据源遇到的初始化问题及解决过程

问题现象

  • 首次初始化阶段,application.properties中的数据源配置可被正常读取,org.springframework.boot.autoconfigure.jdbc.initializeDataSourceBuilder能成功构建数据源
  • 第二次调用该构建方法时,所有配置信息丢失,字段全部为空
  • Spring Boot自动尝试配置默认嵌入式数据库,因未提供嵌入式数据库相关配置,触发空指针异常:

java.lang.NullPointerException: Cannot invoke "org.springframework.boot.jdbc.EmbeddedDatabaseConnection.getDriverClassName()" because "this.embeddedDatabaseConnection" is null

背景说明

整合Spring Boot官方指南的多数据源、多EntityManager配置方案及官方JPA示例代码,编写了TwoDataSources配置类与application.properties配置文件,问题发生时可提供完整报错栈信息。

解决步骤

  1. 调整数据源配置方式:注入DataSourceProperties实例而非手动新建对象,解决了配置信息丢失的问题,但出现新报错:找不到名为entityManagerFactory的Bean
  2. 针对新问题,为第二个EntityManager Bean添加@Bean(name="entityManagerFactory")注解,最终解决所有问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:25:22