Spring Boot默认演示项目启动失败:无法确定合适驱动类报错
问题产生原因
你创建Spring Boot项目时引入了JDBC、JPA、MyBatis等数据库相关依赖,Spring Boot的自动装配机制会默认初始化DataSource数据源相关Bean,但你没有配置任何数据库连接参数(驱动类、连接URL、账号密码等),也没有引入可自动配置的内嵌数据库(如H2),导致上下文初始化时找不到对应的驱动类,最终启动失败。
修复方案
根据你的实际业务需求选择对应方案即可:
方案1:不需要使用数据库
两种实现方式二选一即可:
- 移除项目依赖配置(pom.xml或build.gradle)中所有数据库相关依赖,比如
spring-boot-starter-jdbc、spring-boot-starter-data-jpa、mybatis-spring-boot-starter、各类数据库驱动等,移除后重启项目即可。 - 不删除依赖,直接在启动类的
@SpringBootApplication注解中添加排除配置,禁用数据源自动装配:
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, JdbcTemplateAutoConfiguration.class }) public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
方案2:需要使用数据库
在项目的配置文件application.properties或application.yml中添加对应数据库的连接配置即可,以MySQL 8.x为例:application.properties示例:
spring.datasource.url=jdbc:mysql://localhost:3306/自定义数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=你的数据库账号 spring.datasource.password=你的数据库密码
application.yml示例:
spring: datasource: url: jdbc:mysql://localhost:3306/自定义数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai driver-class-name: com.mysql.cj.jdbc.Driver username: 你的数据库账号 password: 你的数据库密码
配置完成后确保项目中已引入对应数据库的驱动依赖,再重启项目即可。
内容的提问来源于stack exchange,提问作者Insaf99
相关产品推荐
相关产品推荐

