Failed to configure a DataSource:

数据库配置

Failed to configure a DataSource:

运到这种异常提示,大多数是大数据库配置不对,或者没有读取到. 如果是没有读取到,首先考虑

  1. 在application.yml/application.properties 中添加数据库相关配置;
  2. 在SpringBootApplication注解中进行数据库配置的排除,即@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})。

以上两种解决办法,可以解决一般的情况,但是还有一种情况比较特殊,就是当我们进行Spring Boot分模块开发,且不同模块中有多个application.yml或application.properties配置文件时造成的,如下图所示:

Failed to configure a DataSource:

例如, 我在示例中分了三个模块,demo-api,demo-service,demo-dao(数据库的配置在这个模块的application-dao.yml中). 造成该异常的原因,是因为我这个项目中是分模块开发,但是这几个模块共同组成了一个项目,demo-api模块依赖demo-service,demo-service模块依赖demo-dao,这样就相当于一个项目中产生了2个application.yml文件,api层的application.yml文件把dao层的application.yml配置给覆盖掉了,所以产生了以上异常。

解决办法:

对不同模块中的配置文件,以application-*.yml的形式命名,比如application-mapper.yml,application-service.yml等,然后在最顶层的demo-api模块配置文件中,通过spring.profiles.active进行激活配置,如下图所示:

Failed to configure a DataSource: