package com.y.fish.base.api.config; import org.springframework.beans.factory.annotation.Qualifier; 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 org.springframework.jdbc.core.JdbcTemplate; import javax.sql.DataSource; /** * Created by myliang on 7/19/17. */ @Configuration public class DataSourceConfig { @Primary @Bean(name = "writeDataSource") @Qualifier("writeDataSource") @ConfigurationProperties(prefix = "spring.datasource.write") public DataSource writeDataSource(){ return DataSourceBuilder.create().build(); } @Bean(name = "readDataSource") @Qualifier("readDataSource") @ConfigurationProperties(prefix = "spring.datasource.read") public DataSource readDataSource(){ return DataSourceBuilder.create().build(); } @Bean(name = "writeJdbcTemplate") public JdbcTemplate writeJdbcTemplate(@Qualifier("writeDataSource")DataSource dataSource){ return new JdbcTemplate(dataSource); } @Bean(name = "readJdbcTemplate") public JdbcTemplate readJdbcTemplate(@Qualifier("readDataSource")DataSource dataSource){ return new JdbcTemplate(dataSource); } }