Youth.994 2024-08-08 09:39 采纳率: 0%
浏览 11

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource ...

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
我的application.yml格式

springboot:
  application:
    name: cloud-payment-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/db2024?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
    user: root
    password: 1234

看到网上有人说在启动类注解@SpringBootApplication上加上@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}),但是改完后还是报错

Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
    at org.springframework.util.Assert.notNull(Assert.java:172) ~[spring-core-6.1.1.jar:6.1.1]
    at org.mybatis.spring.support.SqlSessionDaoSupport.checkDaoConfig(SqlSessionDaoSupport.java:125) ~[mybatis-spring-3.0.3.jar:3.0.3]
    at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:73) ~[mybatis-spring-3.0.3.jar:3.0.3]
    at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44) ~[spring-tx-6.1.1.jar:6.1.1]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1822) ~[spring-beans-6.1.1.jar:6.1.1]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1771) ~[spring-beans-6.1.1.jar:6.1.1]
    ... 46 common frames omitted

所以正确到底怎么解决/(ㄒoㄒ)/~~

  • 写回答

1条回答 默认 最新

  • 一直免费一直爽 2024-08-11 21:43
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    这个问题是由于Spring Boot应用中没有配置正确的数据源驱动和连接信息导致的。为了解决这个问题,你需要按照以下步骤操作:

    步骤1:确保数据库驱动和URL设置正确

    首先检查application.yml文件中的datasource部分是否包含了正确的数据库驱动(如MySQL)和连接信息(如主机名、端口、用户名、密码等)。例如:

    spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC
    spring.datasource.username=root
    spring.datasource.password=your_password
    

    步骤2:添加依赖项

    确保项目中包含mysql-connector-javaspring-boot-starter-data-jpa依赖。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    

    步骤3:重新构建并运行应用

    确保所有更改都已保存,并重启应用程序以使更改生效。

    步骤4:验证数据源设置

    运行java -jar your-app.jar命令以启动应用程序。然后,在控制台中查看输出信息,确保显示了正确的数据源信息。

    如果你仍然遇到问题,可能是数据库连接池配置错误或者数据库服务未启动。尝试调整application.yml文件中的属性,或者查阅数据库服务的相关文档。如果有必要,可以考虑在生产环境中使用Docker容器部署应用。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 8月8日

悬赏问题

  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥30 java 项目中同包中,无法在子文件中引用
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题
  • ¥15 使用dify通过OpenAI 的API keys添加OpenAI模型时报了“Connection Error”错误
  • ¥40 想找个软件,但我不知道怎么找到它,我甚至不知道有没有
  • ¥15 怎么把60秒的视频时长改成显示0秒?且视频内容没有任何变化的正常播放?目的是为了解决一些平台对视频时长的要求,最好有自动处理的工具!
  • ¥15 累加器设初值为00H