SpringBoot配置多数据源时报错 jdbcUrl is required with driverClassName

在Spring Boot 1.5.x之前,多数据源编程已经有很多教程和例子了,比如恒宇少年的博客还有程序猿DD的博客,我就是在两位大拿的教程下学习的。

但是在升级到Spring Boot 2.0后,一些配置及用法有了变化,如果不小心就会碰到“jdbcUrl is required with driverClassName.”的错误,解决方式有以下两种:

方法1:将配置文件application.properties中使用的spring.datasource.primary.url=xxxxx替换为spring.datasource.primary.jdbc-url=xxxx,如下所示:

方法2:在数据源配置时重写DataSourceProperties对应的实体初始化

    @Primary    //配置该数据源为主数据源
    @Bean(name = "primaryDataSourceProperties")
    @Qualifier(value = "primaryDataSourceProperties")  //spring装配bean的唯一标识
    @ConfigurationProperties(prefix = "spring.datasource.primary")   //application.properties配置文件中该数据源的配置前缀
    public DataSourceProperties primaryDataSourceProperties(){
        return new DataSourceProperties();
    }
    @Primary    //配置该数据源为主数据源
    @Bean(name = "dataSource")
    @Qualifier(value = "dataSource")  //spring装配bean的唯一标识
    @ConfigurationProperties(prefix = "spring.datasource.primary")   //application.properties配置文件中该数据源的配置前缀
    public DataSource dataSource(){
        return primaryDataSourceProperties().initializeDataSourceBuilder().type(HikariDataSource.class).build();
       // return primaryDataSourceProperties().initializeDataSourceBuilder().build();
    }

   @Bean(name = "secondaryDataSourceProperties")
    @Qualifier(value = "secondaryDataSourceProperties")  //spring装配bean的唯一标识
    @ConfigurationProperties(prefix = "spring.datasource.second")   //application.properties配置文件中该数据源的配置前缀
    public DataSourceProperties secondaryDataSourceProperties(){
        return new DataSourceProperties();
    }
    @Bean(name = "secondDataSource")
    @Qualifier(value = "secondDataSource")  //spring装配bean的唯一标识
    @ConfigurationProperties(prefix = "spring.datasource.second")   //application.properties配置文件中该数据源的配置前缀
    public DataSource secondDataSource(){
        return secondaryDataSourceProperties().initializeDataSourceBuilder().type(HikariDataSource.class).build();
       // return secondaryDataSourceProperties().initializeDataSourceBuilder().build();
    }

猜你喜欢

转载自blog.csdn.net/QQ1012470073/article/details/88553427