在Spring Boot中配置多数据源可以通过创建多个DataSource bean,并使用@Primary和@Qualifier注解来指定默认数据源和其他数据源,然后在Repository类中使用@Qualifier注解来指定要使用的数据源。
以下是一个示例配置多数据源的步骤:
- 在application.properties或application.yml文件中配置多个数据源的连接信息,例如:
# 数据源1
spring.datasource.url1=jdbc:mysql://localhost:3306/db1
spring.datasource.username1=root
spring.datasource.password1=123456
# 数据源2
spring.datasource.url2=jdbc:mysql://localhost:3306/db2
spring.datasource.username2=root
spring.datasource.password2=123456
- 创建多个DataSource配置类,每个配置类对应一个数据源,如DataSource1Config和DataSource2Config,配置数据源连接信息和DataSource bean的创建:
@Configuration
public class DataSource1Config {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
@Primary
public DataSource dataSource1() {
return DataSourceBuilder.create().build();
}
}
@Configuration
public class DataSource2Config {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource2() {
return DataSourceBuilder.create().build();
}
}
- 在Repository类中使用@Qualifier注解指定要使用的数据源,例如:
@Repository
public class UserRepository {
@Autowired
@Qualifier("dataSource1")
private DataSource dataSource1;
@Autowired
@Qualifier("dataSource2")
private DataSource dataSource2;
// 使用dataSource1查询用户信息
}
@Repository
public class OrderRepository {
@Autowired
@Qualifier("dataSource2")
private DataSource dataSource2;
// 使用dataSource2查询订单信息
}
通过以上步骤,就可以在Spring Boot中配置多个数据源并在Repository类中使用不同的数据源进行操作。