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

Spring Boot启动报错:找不到JdbcTemplate类型的Bean

问题分析与解决方案

核心问题

你在@SpringBootApplication注解中手动排除了DataSourceAutoConfiguration.class,这直接阻断了Spring Boot的数据源自动配置流程。JdbcTemplate的自动创建依赖容器中存在的DataSource Bean,没有DataSource就无法生成JdbcTemplate,因此注入时会提示找不到该Bean。

修复步骤

1. 移除数据源自动配置的排除项

修改Main类的@SpringBootApplication注解,去掉exclude参数:

@RestController
@SpringBootApplication
public class Main {

    @Autowired
    private MyBean bean;

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    public void getNames() {
        bean.getNames();
    }

    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

2. 修正SQLite数据库路径配置

resources目录下的文件属于类路径资源,原配置中的file:前缀会让系统尝试从文件系统读取,改为classpath:前缀才能正确加载:

spring.datasource.url=jdbc:sqlite:classpath:mydb.db
spring.datasource.driver-class-name=org.sqlite.JDBC

3. 确认依赖完整性

你的依赖配置已经包含spring-boot-starter-jdbc(负责JdbcTemplate自动配置)和sqlite-jdbc(SQLite驱动),无需额外调整。如果后续出现版本兼容问题,可以尝试升级sqlite-jdbc到最新稳定版。

验证逻辑

移除排除项后,Spring Boot会自动读取application.properties中的数据源配置创建DataSource Bean;spring-boot-starter-jdbc会基于该DataSource自动生成JdbcTemplate Bean,此时MyBean的构造方法就能正常注入JdbcTemplate。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:33:27