问题描述

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

Action:

Consider the following:
    If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

问题原因

在pom.xml中引入了持久层的依赖,同时配置文件中关于持久层的配置错误或未配置导致。

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>${spring-boot.mybatis}</version>
</dependency>

当项目中加入以上依赖后,SpringBoot会默认加载DataSourceAutoConfiguration对象,而该对象使用了Configuration注解向Spring容器中注入DataSource相关的Bean,而项目中缺少正确的DataSource的配置信息,导致Spring容器创建DataSource相关的Bean失败,进而启动报错。

解决方案

①. 如果需要持久层,则需要配置并检查持久层的配置信息保证其正确。
②. 如果不需要持久层,则可以屏蔽掉Spring容器自动装配数据源的功能。

	@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
	public class MyApplication {
	    ...
	}
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐