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

Spring Boot中SimpleDriverDataSource配置MongoDB数据源遇Driver实例化错误

解决SimpleDriverDataSource配置MongoDB数据源的问题

错误原因分析

你遇到的Cannot instantiate the type Driver错误,是因为你试图直接实例化java.sql.Driver接口(这是抽象接口,不能直接new),而且SimpleDriverDataSource的setDriverClass方法需要的是Driver的Class对象,不是Driver实例。另外你的JDBC URL格式也有误,端口和数据库名之间应该用斜杠,不是冒号。

正确配置步骤

1. 引入MongoDB JDBC驱动依赖

如果使用Maven,在pom.xml中添加依赖:

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongodb-jdbc</artifactId>
    <version>2.0.0</version> <!-- 建议使用最新稳定版本 -->
</dependency>

2. 修正DataSource配置代码

import org.springframework.jdbc.datasource.SimpleDriverDataSource;
import mongodb.jdbc.MongoDriver;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;

@Bean
protected DataSource dataSource() {
    SimpleDriverDataSource ds = new SimpleDriverDataSource();
    // 直接传入MongoDriver的Class对象,无需手动实例化
    ds.setDriverClass(MongoDriver.class);
    // 修正URL格式:端口后用斜杠指定目标数据库名
    ds.setUrl("jdbc:mongodb://localhost:27017/spring-security-sampledb");
    ds.setUsername("root");
    ds.setPassword("secret");
    return ds;
}

额外注意事项

  • 确认MongoDB服务正在localhost:27017端口运行,且spring-security-sampledb数据库已创建
  • 如果你的MongoDB启用了特定认证机制(比如SCRAM-SHA-256),要确保账号密码拥有对应数据库的访问权限
  • 若使用MongoDB Atlas等云服务,需要调整URL为对应格式(包含集群地址、认证参数等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 00:20:24