SpringBoot Failed to configure a DataSource: ‘url‘ attribute is not specified
当项目中加入以上依赖后,SpringBoot会默认加载DataSourceAutoConfiguration对象,而该对象使用了Configuration注解向Spring容器中注入DataSource相关的Bean,而项目中缺少正确的DataSource的配置信息,导致Spring容器创建DataSource相关的Bean失败,进而启动报错。
·
问题描述
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 {
...
}
更多推荐
已为社区贡献1条内容
所有评论(0)