springboot项目启动出错 Failed to configure a DataSource url attribute is not specified

509 阅读1分钟

springboot项目启动出错 Failed to configure a DataSource url attribute is not specified and no embedde

效果图展示

20211205213208

可能的原因

DataSourceAutoConfiguration自动加载 yml文件配置url错误 yml文件关于url转义 pom文件没有对yml,properties进行扫描

解决方案

springboot项目主启动类添加如下操作

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})

在application.properties/或者application.yml文件中没有添加数据库配置信息

spring:
  datasource:
    username: root
    password: rootabc
    url: jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver

yml文件关于数据库连接转义

转义前

//错误示例
spring.datasource.url = jdbc:mysql\://192.168.0.10\:3306/school?setUnicode=true&characterEncoding=utf8

转义后

//正确示例
spring.datasource.url = jdbc:mysql://192.168.0.20:1504/f_me?setUnicode=true&characterEncoding=utf8

yml或者properties文件没有被扫描到,需要在pom文件中

<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.yml</include>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.yml</include>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
    </resource>
</resources>

springboot项目启动出错 Failed to configure a DataSource: 'url' attribute is not specified and no embedde