package com.zy.common.config.ds; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import javax.sql.DataSource; @Configuration public class DataSourceConfig { @Value("${other.datasource.jdbc-url}") private String url; @Value("${other.datasource.username}") private String username; @Value("${other.datasource.password}") private String password; @Value("${other.datasource.driver-class-name}") private String driverClassName; // 主数据源 @Bean(name = "dataSource") @Primary @ConfigurationProperties(prefix = "spring.datasource") public DataSource primaryDataSource() { return DataSourceBuilder.create().build(); } // 次数据源 @Bean(name = "slaveDataSource") public DataSource secondaryDataSource() { HikariConfig config = new HikariConfig(); config.setJdbcUrl(url); config.setUsername(username); config.setPassword(password); config.setDriverClassName(driverClassName); config.setInitializationFailTimeout(0L); return new HikariDataSource( config); // return DataSourceBuilder.create() // .driverClassName(driverClassName) // .url(url) // .username(username) // .password(password) // .build(); } }