采用Springboot Bean注入的模式
package XXXXXX; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import org.springframework.beans.factory.annotation.Qualifier; 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 org.springframework.jdbc.core.JdbcTemplate; /** * @Author Windwardbird * @time 2020/9/27 14:23 * @describeOfFunction: 注入原生的JdbcTemplate */ @Configuration public class PrimitiveDataSourceConfig { @Primary() @Bean(name = "primaryDataSource") @Qualifier("primaryDataSource") @ConfigurationProperties("spring.datasource.druid.mycat") public DruidDataSource primaryDataSource() { return DruidDataSourceBuilder.create().build(); } @Bean(name = "secondaryDataSource") @Qualifier("secondaryDataSource") @ConfigurationProperties("spring.datasource.druid.mysql") public DruidDataSource secondaryDataSource() { return DruidDataSourceBuilder.create().build(); } @Bean(name = "thirdDataSource") @Qualifier("thirdDataSource") @ConfigurationProperties("spring.datasource.druid.Oracle") public DruidDataSource thirdDataSource() { return DruidDataSourceBuilder.create().build(); } @Bean(name = "primaryJdbcTemplate") public JdbcTemplate primaryTemplate(@Qualifier("primaryDataSource") DruidDataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean(name = "secondaryJdbcTemplate") public JdbcTemplate secondaryTemplate(@Qualifier("secondaryDataSource") DruidDataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean(name = "thirdJdbcTemplate") public JdbcTemplate secondaryTemplate(@Qualifier(""thirdDataSource") DruidDataSource dataSource) { return new JdbcTemplate(dataSource); } } 项目使用 @Resource(name ="primaryJdbcTemplate") private JdbcTemplate mycatJdbcTemplate @Resource(name ="secondaryJdbcTemplate") private JdbcTemplate mysqlJdbcTemplate @Resource(name ="thirdJdbcTemplate") private JdbcTemplate oracleJdbcTemplate