是否可以使用 Spring 和 @Value 注释将 YAML 属性 读入 Map
Is it possible to read YAML property into Map using Spring and @Value annotation
我希望能够做到的是:
YAML:
features:
feature1: true
feature2: false
feature3: true
代码:
@Value("${features}")
private Map<String,Boolean> features;
我不知道要使用什么 Spring 脚本语法来执行此操作(如果可能的话)
我正在使用 Spring 像这样启动和访问自定义变量:
创建映射到您的自定义属性的自定义 class:
@Component
@ConfigurationProperties(prefix="features")
public class ConstantProperties {
private String feature1;
public String getFeature1(){
return feature1;
}
public void setFeature1(String feature1) {
this.feature1 = feature1;
}
}
YAML 文件将如下所示:
features:
feature1: true
feature2: false
feature3: true
在你的class中表示你想访问这些属性,你可以使用以下方法:
@Autowire
private ConfigurationProperties configurationProperties;
然后在 class 中访问,使用以下语法:
configurationProperties.getFeature1();
或者您可以参考自定义 属性,例如:
"{{features.feature1}}"
我希望能够做到的是:
YAML:
features:
feature1: true
feature2: false
feature3: true
代码:
@Value("${features}")
private Map<String,Boolean> features;
我不知道要使用什么 Spring 脚本语法来执行此操作(如果可能的话)
我正在使用 Spring 像这样启动和访问自定义变量:
创建映射到您的自定义属性的自定义 class:
@Component @ConfigurationProperties(prefix="features") public class ConstantProperties { private String feature1; public String getFeature1(){ return feature1; } public void setFeature1(String feature1) { this.feature1 = feature1; } }
YAML 文件将如下所示:
features: feature1: true feature2: false feature3: true
在你的class中表示你想访问这些属性,你可以使用以下方法:
@Autowire private ConfigurationProperties configurationProperties;
然后在 class 中访问,使用以下语法:
configurationProperties.getFeature1();
或者您可以参考自定义 属性,例如:
"{{features.feature1}}"