springboot如何配置多数据源druid
时间: 2023-09-05 18:12:32 浏览: 105
Spring Boot可以通过配置多个数据源来实现多数据源的使用,而Druid是一种数据库连接池,可以提供对多个数据源的连接管理和监控功能。
首先,在`pom.xml`文件中添加Druid和对应数据库驱动的依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
<!-- 添加其他数据库驱动的依赖 -->
```
然后,在`application.properties`或`application.yml`中配置多个数据源的相关信息,例如:
```properties
# 主数据源
spring.datasource.url=jdbc:mysql://localhost:3306/db1
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 第二个数据源
spring.datasource.second.url=jdbc:mysql://localhost:3306/db2
spring.datasource.second.username=root
spring.datasource.second.password=123456
spring.datasource.second.driver-class-name=com.mysql.cj.jdbc.Driver
```
接下来,创建多个数据源的配置类,例如:
```java
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean(name = "secondDataSource")
@ConfigurationProperties(prefix = "spring.datasource.second")
public DataSource secondDataSource() {
return DruidDataSourceBuilder.create().build();
}
}
```
注意,`@Primary`注解用于标识默认的主数据源。
最后,在需要使用数据源的地方,通过`@Qualifier`注解指定要使用的数据源,例如:
```java
@Service
public class MyService {
@Autowired
@Qualifier("dataSource")
private DataSource dataSource;
// 使用dataSource进行数据库操作
@Autowired
@Qualifier("secondDataSource")
private DataSource secondDataSource;
// 使用secondDataSource进行数据库操作
}
```
这样就完成了Spring Boot中多数据源Druid的配置。在使用数据源时,可以根据需要在不同的地方注入不同的数据源。
阅读全文