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

Spring Boot集成R2DBC时H2数据库无法被识别的问题排查

问题产生原因

你当前引入的*com.h2database:h2是H2数据库的JDBC驱动,Spring Data R2DBC无法基于JDBC驱动创建响应式连接*。H2对应的R2DBC驱动是独立的发布包,不在现有依赖列表中,Spring Boot自动配置阶段找不到可用的R2DBC驱动实现,就无法自动推导嵌入式数据库的连接URL,最终抛出连接配置失败的错误。

教程中的示例可以正常自动配置,是因为创建项目时勾选了R2DBC场景下的H2驱动选项,生成的依赖配置默认包含了对应的R2DBC驱动包。

修复步骤
  • 在pom.xml的依赖节点中补充H2的R2DBC驱动依赖:
<dependency>
    <groupId>io.r2dbc</groupId>
    <artifactId>r2dbc-h2</artifactId>
    <scope>runtime</scope>
</dependency>
  • 补充依赖后如果仍触发相同报错,在项目配置文件(application.properties或application.yml)中手动指定R2DBC连接参数即可:
    1. Properties格式配置:
    spring.r2dbc.url=r2dbc:h2:mem:///demo
    spring.r2dbc.username=sa
    spring.r2dbc.password=
    
    1. YAML格式配置:
    spring:
      r2dbc:
        url: r2dbc:h2:mem:///demo
        username: sa
        password:
    

配置完成后重启应用,即可正常完成响应式数据源的自动装配。

内容的提问来源于stack exchange,提问作者Susitha Ravinda Senarath

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:31:08