我正在学习Spring Cloud Config项目功能。我想知道是否可以使用占位符进行特定于应用程序的配置?
例如:
我的application.yml文件:
this
config文件夹包含my-app.yml文件:
server:
port: 8888
spring:
profiles:
active: native
cloud:
config:
server:
native:
search-locations: classpath:/config
服务器以-Dmy.password = password环境变量启动。对/ my-app / native url的get请求返回:
key:
value: ${my.password}
占位符中的env属性在没有评估的情况下返回给客户端,有没有办法在将响应发送到客户端之前评估属性?
答案 0 :(得分:2)
启动服务器时,您可以使用override
功能设置key.value
的值:
-Dspring.cloud.config.server.overrides.key.value=overrideValue
我认为您的客户必须在之后启动。
属性覆盖
Config Server具有“覆盖”功能,允许操作员为所有应用程序提供配置属性。使用普通Spring Boot挂钩的应用程序不会意外更改被覆盖的属性。要声明覆盖,请将名称 - 值对的映射添加到
spring.cloud.config.server.overrides
,如以下示例所示:spring: cloud: config: server: overrides: foo: bar
上述示例会导致配置客户端的所有应用程序都读取
foo=bar
,而与其自身配置无关。...