我想要做的是:

YAML:

features:
    feature1: true
    feature2: false
    feature3: true


码:

@Value("${features}")
private Map<String,Boolean> features;


我不知道该使用哪种Spring脚本语法(如果有可能的话)

最佳答案

我正在使用Spring Boot并访问这样的自定义变量:


创建一个映射到您的自定义属性的自定义类:

@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

在您要访问这些属性的类中,可以使用以下命令:

@Autowire
private ConfigurationProperties configurationProperties;

然后,使用以下语法访问该类:

configurationProperties.getFeature1();

或者,您可以引用自定义属性,例如:

"{{features.feature1}}"

07-24 20:25