spring cloud 配置多数据源
时间: 2023-08-22 10:09:54 浏览: 105
Spring配置多个数据源
在 Spring Cloud 中配置多数据源可以使用 Spring Boot 提供的多数据源支持。下面是一个简单的示例:
1. 首先,在 `application.properties` 或 `application.yml` 中配置主数据源的信息,例如:
```yaml
spring.datasource.url=jdbc:mysql://localhost:3306/main_db
spring.datasource.username=root
spring.datasource.password=secret
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
2. 创建第二个数据源的配置类,例如 `SecondaryDataSourceConfig.java`:
```java
@Configuration
public class SecondaryDataSourceConfig {
@Bean(name = "secondaryDataSource")
@ConfigurationProperties(prefix = "spring.secondary.datasource")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryJdbcTemplate")
public JdbcTemplate secondaryJdbcTemplate(@Qualifier("secondaryDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
}
```
3. 在 `application.properties` 或 `application.yml` 中配置第二个数据源的信息,例如:
```yaml
spring.secondary.datasource.url=jdbc:mysql://localhost:3306/secondary_db
spring.secondary.datasource.username=root
spring.secondary.datasource.password=secret
spring.secondary.datasource.driver-class-name=com.mysql.jdbc.Driver
```
4. 在需要使用第二个数据源的地方注入 `JdbcTemplate`,例如:
```java
@Autowired
@Qualifier("secondaryJdbcTemplate")
private JdbcTemplate secondaryJdbcTemplate;
```
这样,你就可以在 Spring Cloud 中配置并使用多个数据源了。请注意,上述示例是基于 Spring Boot 和 JdbcTemplate 的,你可以根据自己的需求选择其他的数据访问方式,如 MyBatis、Hibernate 等。
阅读全文