我正在使用 Java 和 spring boot。我想知道如何将属性占位符添加到 .yml
文件中。我找到了一些清晰的例子,但我不确定属性占位符在哪里被实例化。它是在系统环境变量、文件等中吗?
引导程序.yml
spring:
cloud:
config:
username: ${my.stored.files.username}
password: ${my.stored.files.password}
label: ${spring.cloud.find.label}
uri: ${spring.cloud.config.uri}
enabled: false
failFast: true
用户正在使用属性占位符,但用户在哪里声明它们?这个 .yml 从哪里读取值? (同上问题) 有说明连接的文档吗?
此 Web 应用程序将使用“cf push”推送到 cloud foundry,它将自动选择 manifest.yml 文件进行配置。如果可能的话,一个云铸造厂的例子会很棒。
了解/示例 Application.properties 文件
app.name=MyApp
app.description=${app.name}
用户能够使用 \({app.name} 因为它已被定义。我对上面的例子感到困惑。用户如何以及在哪里获得“\){my.stored.files.username}。它在哪里被定义?我认为它会在 system.properties 或环境变量中。任何人都可以确认吗?
原文由 JayC 发布,翻译遵循 CC BY-SA 4.0 许可协议
经过深入研究,我发现当我在 .yml 文件中使用占位符时,它会从环境变量中读取该值。一开始这是我的理论的一部分,但没有人证实。
当地环境的答案
*在环境变量中*
然后
当您运行应用程序时,yml 将像这样读取。
这是解决我的问题的 链接
对于 Cloudfoundry
您将必须创建杯子或手动将这些变量添加到服务中。