无法将属性绑定到“DataSource”Springboot 2.7.9

问题描述 投票:0回答:1

我已经将 springboot 从 2.2.3.RELEASE 升级到 2.7.9,然后数据源 bean 创建开始抛出以下异常

通过构造函数参数 0 表示的未满足的依赖;嵌套异常是 org.springframework.boot.context.properties.ConfigurationPropertiesBindException:创建名为“primaryDataSource”的 bean 时出错:无法将属性绑定到“DataSource”:prefix=app.datasource.primary,ignoreInvalidFields=false,ignoreUnknownFields=true;嵌套异常是 org.springframework.boot.context.properties.bind.BindException:无法将“app.datasource.primary”下的属性绑定到 javax.sql.DataSource"

我在配置中的属性如下

app:
  datasource:
    primary:
      minimum-idle: 5
      maximum-pool-size: 20
      connection-timeout: 30000
      maxLifetime: 540000
      idleTimeout: 30000
      url: "jdbc:mysql://url"
      driver-class-name: com.mysql.cj.jdbc.Driver
      username: user
      password: pwd

豆法

@Bean(name = "primaryDataSource")
    @ConfigurationProperties("app.datasource.primary")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }

依赖关系

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>4.0.3</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

相同的设置适用于 2.2.X spring boot 版本,我缺少什么

java spring spring-boot spring-data
1个回答
0
投票

我在配置中提到了 jdbc url 作为

url: "jdbc:mysql://url"
它需要更新为
jdbc-url: "jdbc:mysql://url"

© www.soinside.com 2019 - 2024. All rights reserved.