springboot使用el表达式切换数据源
时间: 2024-09-24 16:24:34 浏览: 38
Spring Boot 中可以使用 Spring Cloud Config 或者直接在配置文件中通过 EL 表达式动态切换数据源。这通常是通过 `spring.datasource` 配置节来实现的,你可以定义多个数据源,并给每个数据源一个标签或名字。
例如,在 `application.properties` 或 `application.yml` 文件中:
```properties
spring.datasource.default.url=jdbc:mysql://localhost/defaultDB
spring.datasource.default.username=root
spring.datasource.default.password=secret
spring.datasource.alt.url=jdbc:mysql://localhost/altDB
spring.datasource.alt.username=root
spring.datasource.alt.password=secret
# 使用EL表达式来切换数据源
spring.datasource.url=#{environment=='prod' ? 'spring.datasource.alt.url' : 'spring.datasource.default.url'}
```
这里,`${environment}` 可以是一个环境变量或者通过 Profile(Profile是Spring Boot提供的可以根据不同的条件激活一组配置的功能)来设置,比如在dev、prod环境中切换不同的数据源URL。
当应用启动时,如果检测到当前环境为 prod,则使用 alt 数据源,否则使用 default 数据源。
阅读全文