package com.landtool.lanbase.config; import java.util.HashMap; import java.util.Map; import javax.sql.DataSource; 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 com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import com.landtool.lanbase.common.datasource.DataSourceNames; import com.landtool.lanbase.common.datasource.DynamicDataSource; /** * @author lanbase * @Description: TODO(配置多数据源) * @date 2017-6-23 15:07 */ @Configuration public class DynamicDataSourceConfig { @Bean @ConfigurationProperties("spring.datasource.druid.first") public DataSource firstDataSource(){ return DruidDataSourceBuilder.create().build(); } @Bean @Primary public DynamicDataSource dataSource(DataSource firstDataSource) { Map targetDataSources = new HashMap<>(); targetDataSources.put(DataSourceNames.FIRST, firstDataSource); return new DynamicDataSource(firstDataSource, targetDataSources); } }