springboot druid 多数据源 application 怎么配置
时间: 2023-05-23 13:02:46 浏览: 126
你可以在 application.properties 文件中配置多数据源,示例代码如下:
# 配置数据源1
spring.datasource.datasource1.jdbcUrl=jdbc:mysql://localhost:3306/db1
spring.datasource.datasource1.username=user1
spring.datasource.datasource1.password=pass1
spring.datasource.datasource1.driver-class-name=com.mysql.jdbc.Driver
# 配置数据源2
spring.datasource.datasource2.jdbcUrl=jdbc:mysql://localhost:3306/db2
spring.datasource.datasource2.username=user2
spring.datasource.datasource2.password=pass2
spring.datasource.datasource2.driver-class-name=com.mysql.jdbc.Driver
# 配置 Drui监控中心
# 访问地址:http://localhost:8080/druid
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
# 配置数据源切换
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.filters=stat,wall,log4j
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.max-wait=60000
spring.datasource.druid.time-between-eviction-runs-millis=60000
spring.datasource.druid.min-evictable-idle-time-millis=300000
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.test-on-return=false
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.druid.filters=stat,wall,log4j
在使用数据源时,可以在代码中使用 @Qualifier 注解指定使用哪个数据源,示例代码如下:
@Service
public class UserService {
@Autowired
@Qualifier("datasource1")
private DataSource dataSource1;
@Autowired
@Qualifier("datasource2")
private DataSource dataSource2;
public void someMethod() {
Connection conn1 = dataSource1.getConnection();
Connection conn2 = dataSource2.getConnection();
// do something
}
}
这样就可以实现在 Spring Boot 中配置多数据源了。