在application.yml文件中配置多个数据源,
时间: 2023-09-05 19:10:37 浏览: 159
可以使用Spring Boot的多数据源支持来配置多个数据源。以下是一个示例:
首先,在application.yml文件中添加多个数据源的配置信息,例如:
```
spring:
datasource:
primary:
url: jdbc:mysql://localhost:3306/db1
username: user1
password: password1
secondary:
url: jdbc:mysql://localhost:3306/db2
username: user2
password: password2
```
这里我们配置了两个数据源,一个是primary,另一个是secondary。
然后,在Spring Boot的配置类中,使用@Primary注解指定默认的数据源,并使用@ConfigurationProperties注解将配置信息装配到DataSource对象中:
```
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name = "primaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
}
```
在这个配置类中,我们定义了两个DataSource类型的Bean,分别对应于primary和secondary数据源。使用@ConfigurationProperties注解将配置信息读取到DataSource对象中。
最后,需要在使用数据源的地方指定使用哪个数据源。可以使用@Qualifier注解来指定具体的数据源,例如:
```
@Service
public class UserServiceImpl implements UserService {
@Autowired
@Qualifier("primaryDataSource")
private DataSource primaryDataSource;
@Autowired
@Qualifier("secondaryDataSource")
private DataSource secondaryDataSource;
// ...
}
```
在这个示例中,我们使用@Qualifier注解来指定具体使用哪个数据源。在UserService的实现类中,我们分别注入了primaryDataSource和secondaryDataSource两个数据源。
阅读全文