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
这很奇怪,现在我有点困惑我的方法有什么问题。
我正在使用 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
.