【发布时间】:2017-08-26 04:50:23
【问题描述】:
我正在使用 Java 和 Spring Boot。我想知道如何将属性占位符添加到 .yml 文件中。我找到了一些清晰的示例,但我不确定属性占位符在哪里被实例化。是在系统环境变量、文件等中吗?
Bootstrap.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 或环境变量中。谁能确认一下?
【问题讨论】:
-
谢谢@DaveJarvis 但我认为这不是我想要的。
-
您是否尝试过在 YAML 或应用程序使用的其他配置文件中搜索“用户名”?在不知道文件内容或应用程序的文件夹结构的情况下,任何人都很难回答这个问题。不过,您应该能够搜索文件以找到定义变量的位置。
-
@DaveJarvis 这就是我想要了解自己的。我知道这是一个 bootstrap.yml 文件。我只是不明白占位符从哪里接收他们的值。我按照您的方法搜索了“用户名”。我看到 build.gradle 有 "username = "${artifactory_user}"。但是 "artifactory_user" 不会导致其他任何地方。
标签: java spring-boot yaml manifest string-interpolation