初步搭建微服务应用,报错:Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedd

报错:
Failed to configure a DataSource: ‘url’ attribute is not specified and no embedd

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).

解决方法:

看了网上很多的教程,感觉都解决不了,代码又没啥错。
然后我就随意尝试一下:
拿了一个自己之前能运行出来的SpringBoot项目里面的yml文件里面的数据,如下。

spring:
  # 应用名称
  application:
    name: user

  thymeleaf:
    prefix:
    classpath: /templates/

  resources:
    #指定templates文件 映射 文件夹D盘目录下的data文件夹(映射路径注意不要写错了)
    static-locations: classpath:/templates,file:D:/userHead/

  #连接数据库
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/retallife?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver

  Redis:
    # 超时时间
    timeout: 10000ms
    # 服务器地址
    host: 127.0.0.1
    # 服务器端口
    port: 6379
    # 数据库
    database: 0
    #密码默认为空
    password:
    lettuce:
      pool:
        # 最大连接数,默认8
        max-active: 1024
        # 最大连接阻塞等待时间 ,默认-1
        max-wait: 10000ms
        #最大空闲连接
        max-idle: 200
        #最小空闲连接
        min-idle: 5

  #添加邮箱配置
  mail:
    # 客户端,邮件服务器地址。要是qq邮箱就是smtp.qq.com
    host: smtp.163.com
    # 协议
    protocol: smtp
    # 编码格式
    default-encoding: utf-8
    # 发送者的邮箱地址
    username: wsw1335860166@163.com
    # 授权码(就是那串乱码)
    password: OJXEHZMKJASJXPTH
    # 端口
    port: 25

#mybits-plus寻找对应的mapper映射
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.retallife.user.pojo

#  <!--在使用MyBatis嵌套查询方式进行关联查询时,
#  使用MyBatis的延迟加载可以在一定程度上提高查询效率-->

  #实现Mybatis的延迟加载
  configuration:
    lazy-loading-enabled: true
    #false 为按需加载
    aggressive-lazy-loading: false


# MyBatis SQL语句打印(方法所在接口的包,不是Mapper.xml所在的包)
Logging:
  level:
    com: debug

# 应用服务 WEB 访问端口
server:
  port: 8081
#  servlet:
#    context-path: /retallife
#配置eureka注册中心地址
eureka:
  client:
   service-url:
    defaultZone: http://localhost:8761/eureka
#springboot的监控端点访问权限,*表示所有的访问端点都允许访问
management:
  endpoints:
   web:
    exposure:
     include: '*'


然后运行一遍发现可以运行。然后又ctrl+z返回,重新运行一遍之前出错的项目(代码没改),发现又可以了。
感觉应该是SpringBoot可能没识别到吧。
具体原因我也不知道,希望又大佬解决一下。

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、付费专栏及课程。

余额充值