springboot项目配置多数据源
时间: 2023-09-27 21:12:06 浏览: 58
在Spring Boot项目中配置多个数据源可以通过以下步骤实现:
1. 禁用Spring Boot的数据源自动配置类。在@SpringBootApplication注解中添加exclude属性,值为DataSourceAutoConfiguration.class,如下所示:
```java
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class DatasourceDomeApplication {
public static void main(String[] args) {
SpringApplication.run(DatasourceDomeApplication.class, args);
}
}
```
2. 创建自定义的数据源配置类。在该类中使用@Configuration注解,并定义多个@Bean方法,每个方法返回一个DataSource对象,用于初始化不同的数据源。可以使用@ConfigurationProperties(prefix = "spring.datasource.mysql-datasourceX")注解来指定每个数据源的属性配置,如下所示:
```java
@Configuration
public class DataSourceConfig {
@Bean(name = "mysqlDataSource1")
@ConfigurationProperties(prefix = "spring.datasource.mysql-datasource1")
public DataSource dataSource1(){
DruidDataSource build = DruidDataSourceBuilder.create().build();
return build;
}
@Bean(name = "mysqlDataSource2")
@ConfigurationProperties(prefix = "spring.datasource.mysql-datasource2")
public DataSource dataSource2(){
DruidDataSource build = DruidDataSourceBuilder.create().build();
return build;
}
}
```
3. 在application.yml配置文件中配置数据源相关的属性。可以根据需要配置每个数据源的连接信息、用户名、密码等,如下所示:
```yaml
spring:
datasource:
mysql-datasource1:
url: jdbc:mysql://localhost:3306/db1
username: root
password: password1
mysql-datasource2:
url: jdbc:mysql://localhost:3306/db2
username: root
password: password2
```
通过以上步骤,你可以成功配置多个数据源,并在项目中使用对应的数据源进行数据库操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Spring Boot配置多数据源的四种方式](https://blog.csdn.net/qq_45515182/article/details/126330084)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [SpringBoot多数据源配置](https://blog.csdn.net/u012060033/article/details/123759694)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]