我在 Spring Boot 应用程序中有此配置:
spring:
application:
name: my-app
profiles:
active: ${ENVIRONMENT}
cloud:
config:
uri: http://localhost:8888
我的配置服务器读取以下文件:
我的应用程序 dev.yaml
prop: dev property
我的应用程序 pro.yaml
prop: pro property.
我启动 spring boot 应用程序设置-DENVIRONMENT=dev
,正确加载 dev 外部 Git 属性。
当我在假设一个控制器中注入环境时,env.getActiveProfiles()
我是否按预期获得了“开发”。
我想从 git 配置中添加更多配置文件。例如:
我的应用程序 dev.yaml
prop: dev property
spring:
active:
profiles: dev,business1
我的应用程序 pro.yaml
prop: dev property
spring:
active:
profiles: pro,business2
所以env.getActiveProfiles()
返回["dev","business1"]
。但是它返回的是初始的"dev"
.
怎么可能做到这一点?
更新:
正如 Dave Syer 所建议的,我尝试spring.profiles.include
在 Git 文件中使用,但新配置文件未添加到环境中:
我的应用程序 dev.yaml
prop: dev property
spring:
profiles:
include: business1
我的应用程序 pro.yaml
prop: dev property
spring:
profiles:
include: business2
environment.getActiveProfiles() ---> "dev"