123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package io.renren.datasources;
- import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.Primary;
- import javax.sql.DataSource;
- import java.util.HashMap;
- import java.util.Map;
- /**
- * 配置多数据源
- * @author chenshun
- * @email sunlightcs@gmail.com
- * @date 2017/8/19 0:41
- */
- @Configuration
- public class DynamicDataSourceConfig {
- @Bean
- @ConfigurationProperties("spring.datasource.druid.first")
- public DataSource firstDataSource(){
- return DruidDataSourceBuilder.create().build();
- }
- @Bean
- @ConfigurationProperties("spring.datasource.druid.second")
- public DataSource secondDataSource(){
- return DruidDataSourceBuilder.create().build();
- }
- @Bean
- @Primary
- public DynamicDataSource dataSource(DataSource firstDataSource, DataSource secondDataSource) {
- Map<Object, Object> targetDataSources = new HashMap<>();
- targetDataSources.put(DataSourceNames.FIRST, firstDataSource);
- targetDataSources.put(DataSourceNames.SECOND, secondDataSource);
- return new DynamicDataSource(firstDataSource, targetDataSources);
- }
- }
|