Springboot 从属性文件而不是 YAML 文件链接环境值

Springboot linking Environment values from Properties files but not from YAML files

这很奇怪,现在我有点困惑我的方法有什么问题。

我正在使用 2 Spring-Boot 框架并编写简单的微服务应用程序。

项目 1

Constants.java

public static final String TEST_HOST                           = "${test1.host}"

application.properties

test1.host=https://somewhere.com

我可以毫无问题地读取这个值,即 https://somewhere.com

项目 2

Constants.java

public static final String TEST_HOST                           = "${test1.host}"

application.yaml

test1:
  host: https://somewhere.com

在上述情况下,它给我的值是 ${test1.host} 我希望表达式应该得到执行,但它被视为具有字符串值而不是环境值的常量。

而不是这样做:

public static final String TEST_HOST = "${test1.host}"

添加注释 @Value 以便您可以从配置文件中注入属性,如以下代码片段:

@Value("${test1.host}")
public String host;

第二个项目也是如此。

不要忘记使用此注释 @Configuration.

装饰保存配置值的 class