首页 > 解决方案 > @Value 属性名称中的转义“(双引号)

问题描述

我的属性具有以下结构:

my {
    property {
        item {
            "1" {
                value="some value"
            }
            "2" {
                value="another value"
            }
        }
    }
}

您如何使用@Value注释引用名为“1”的属性?

我的例子不起作用。我尝试了以下选项:

@Bean(name = "myProperty")
public String myProperty(@Value("${my.property.item.\"1\".value}") String myProperty) {
    return myProperty;
}

@Bean(name = "myProperty")
public String myProperty(@Value("${my.property.item.'1'.value}") String myProperty) {
    return myProperty;
}

@Bean(name = "myProperty")
public String myProperty(@Value("${my.property.item.1.value}") String myProperty) {
    return myProperty;
}

这些都不起作用。

任何建议表示赞赏!

标签: javaspring

解决方案


解决这个问题的最佳方法是重命名属性,因为 java 不喜欢名称中有引号。


推荐阅读