实际项目过程中我们很可能碰到项目的数据源不在同一个数据库实例下,这时就需要我们配置多数据源,这篇文章主要讲述如何配置双数据源,以此类推多数据源也是可以配置的。
正文
1.配置数据库信息
以下代码展示是在yml中配置,application.properties与application.yml类似,不再赘言。
- 特别注意使用的是jdbc-url不是url,否则你就会蛋疼的发现项目老是报出jdbc-url is required driverClassName,具体原因我也不太懂,后面如果懂得话会更新补充
spring:
# 主数据
primary:
datasource:
driver-class-name: oracle.jdbc.driver.OracleDriver
jdbc-url:
username:
password:
# 第二数据
secondary:
datasource:
driver-class-name: oracle.jdbc.driver.OracleDriver
jdbc-url:
username:
password:
2.配置生成相应datasource的类
@Configuration
public class DataSourceConfigure {
@Bean(name = "primaryDataSource")
//个人理解该注解主要用于表明优先性,当使用@Autowired时没有特殊标明的话,默认使用这个bean
@Primary
@Qualifier("primaryDataSource")
@ConfigurationProperties(prefix = "spring.primary.datasource")
public DataSource primaryDatasource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryDataSource")
@Qualifier