【发布时间】:2019-01-24 17:03:35
【问题描述】:
我有以下问题。我根据给定配置文件在 yaml 文件中读取的值创建数据源。
这是我的代码
@Value("${my.db.serviceId}")
private String serviceId;
@Primary
@Bean(name = "prodDataSource")
@Profile("prod")
public DataSource prodDataSource() {
return getDataSource(serviceId);
}
@Bean(name = "devDataSource")
@Profile("dev")
public DataSource devDataSource() {
return getDataSource(serviceId);
}
这是我的 yaml 文件
---
spring:
profile: dev
my:
db:
serviceId: 'my-dev-service'
---
spring:
profile: prod
my:
db:
serviceId: 'my-prod-service'
---
我当前的问题是,当我使用“dev”配置文件启动我的应用程序时, serviceId 的值为“my-prod-service”。
我在这里做错了什么?
【问题讨论】:
-
删除 prod bean 顶部的
@primary
标签: spring-boot yaml