springboot报错:Failed to configure a DataSource: ‘url‘ attribute is not specified ...

场景:springboot集成数据源报错
记录:NO.238
本例环境
        spring-boot:2.2.0.RELEASE
        jdk:1.8
报错信息
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
即:配置数据源时,url属性不能被指定,嵌入数据源不能被配置。
本例原因:在pom.xml中引入依赖,但是在application.yml没有配置数据源相关信息。
pom.xml配置:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.21</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>

application.yml配置:

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://127.0.0.1:3306/platdb
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver

解决:
在pom.xml中引入依赖,同时在application.yml配置数据源相关信息。
如果不想配置,则在启动类使用注解,也不报错。
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
但是,既然要使用数据源,却不配置,感觉有点奇怪。
但是,在使用多数据源配置时,得使用注解:
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})

在启动类使用注解也无效情况
原因:在pom.xml中引入了druid-spring-boot-starter,还是会自动加载数据源配置,找不到配置信息也会报错。
pom.xml配置:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.21</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>	

解决:
在pom.xml中引入依赖,同时在application.yml配置数据源相关信息。

以上,感谢。

Spring Boot是一个用于快速开发Java应用程序的框架,它提供了很多便捷的功能和配置选项。在使用Spring Boot时,有时会遇到一些报错信息,其中一个常见的报错是"Failed to configure a DataSource: 'url' attribute is not specified and no embedded"。 这个报错通常是由于没有正确配置数据源引起的。在Spring Boot中,数据源是用于连接数据库的重要组件。当你在应用程序中使用数据库时,需要配置数据源的相关信息,如数据库的URL、用户名、密码等。 出现这个报错的原因是因为在配置文件中没有正确指定数据源的URL属性,并且也没有使用嵌入式数据库。解决这个问题的方法有两种: 1. 配置数据源的URL属性:在你的应用程序的配置文件(如application.properties或application.yml)中,添加以下配置项: ``` spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase ``` 其中,`jdbc:mysql://localhost:3306/mydatabase`是你数据库的URL,根据实际情况进行修改。 2. 使用嵌入式数据库:如果你不想手动配置数据源,可以考虑使用Spring Boot提供的嵌入式数据库(如H2、HSQLDB等)。在这种情况下,你只需要在配置文件中添加以下配置项: ``` spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password= ``` 这样就可以使用嵌入式数据库进行开发和测试了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值