java - @Value 属性名称中的转义“(双引号)

标签 java spring

我的属性结构如下:

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;
}

这些都不起作用。

任何建议表示赞赏!

最佳答案

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

关于java - @Value 属性名称中的转义“(双引号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57593580/

相关文章:

java - 为什么下面for循环中的 “getPassenger()”方法可以直接调用而不需要先创建对象?

java - 冲突的模块。 LoggerFactory 不是 Logback LoggerContext 但 Logback 在类路径上

Spring Boot如何添加可能存在或可能不存在的第二个数据源

java - 如何在Spring Web Service中实现计划任务?

java - 无法找到 Spring NamespaceHandler for XML schema 命名空间问题

liquibase 中的 Java 代码变更集

java - 线程中的异常 "main"java.net.SocketException : Connection reset at java. io.BufferedReader.readLine(来源未知)

java - 类(class)项目创意

java - spring 两种具有相同 URL 映射的方法

java - 类级别参数的泛型如何工作