当前位置: 首页 > 知识库问答 >
问题:

如果包含美元符号(${var}),则无法读取属性

徐承载
2023-03-14

我有包含以下内容的属性文件:

INVALID_ARGUMENT=Field ${fieldName} is invalid or missing.

我使用spring配置阅读了以下内容:

@PropertySource("error_messages_en.properties")
@Configuration
public static class ErrorMessagesEn {
     @Value("${INVALID_ARGUMENT}")
    private String invalidArgument;
}

但在应用程序开始后,我看到:

Could not resolve placeholder 'fieldName' in value "Ïîëå ${fieldName} íåêîððåêòíî çàïîëíåíî èëè ïðîïóùåíî."

我需要${fieldName},因为我要使用重新启动程序:https://stackoverflow.com/a/3655963/2674303

如何避免这个错误?

共有2个答案

凌和悦
2023-03-14

如果您使用的是yaml文件,则需要用引号包围该值

参数:“字段#{”$“}{fieldName}无效或丢失。”

楚彦
2023-03-14

您应该转义${fieldName},因为它未定义为spring属性。

您可以看看这个问题:spring属性文件中的Escape属性引用以及相关的答案。

你应该这样写:

INVALID_ARGUMENT=Field #{'$'}{fieldName} is invalid or missing.
 类似资料:
  • 问题内容: 我定义了以下Java类: 当我尝试编译它们时,出现以下错误: 如果我删除文件并从所有文件中编译: 因此Java允许我定义一个名称中包含美元符号的类。如何编译我的原始示例? 问题答案: 之所以会发生名称冲突,是因为您定义的顶级类A $ B与类A的静态内部类B的生成名称具有相同的名称。由于两者都存在,因此编译器无法解决冲突。 JLS说: $字符仅应在机械生成的源代码中使用,或很少用于访问旧

  • 问题内容: 谁能告诉我为什么我运行这种方法用符号替换值时为什么会遇到bouns异常之外的索引? 例如,我传递消息 我试图查看此论坛主题,但无法理解内容 http://www.coderanch.com/t/383666/java/java/String- replaceAll 问题答案: 这是特殊字符,您需要使用转义字符 试试这个 而且在您的代码中您试图用相同的内容替换内容没有意义 输出 更新资料

  • 问题内容: 例如,它是Jikes RVM堆栈的一部分。 “访问”应为方法名称。但是我检查了类源代码及其接口,没有所谓的“访问”方法。我在Google上找不到答案,因为Google讨厌各种标点符号。有人可以帮忙吗?非常感谢。 问题答案: 引用@birryree链接的文章: 如果一个类将另一个类包围,或者如果它们被一个公共类包围,则另一个类D可以使用C类的私有成员m。由于虚拟机不知道这种分组方式, 因

  • 我最近在使用Apache POI用于Excel文件的.getCell()方法时遇到了麻烦。如果我尝试实现单元格newCell=sheet.getRow(rowNumber).getCell(columnNumber)或类似的内容,我总是得到错误 它指向在单元格为NULL的情况下实现.getCell()方法的行。我的代码应该确定单元格是否为空,如果为真,然后打印一些内容,但似乎单元格为空会导致程序出

  • 我正在尝试使用file()函数将excel文件转换为数组。某些字段包含日文字符。对于这些字段,我没有得到正确的数据。 这是我的代码行

  • 问题内容: 假设您有一个类,并创建了一个HashSet来存储此类的实例。如果尝试添加相等的实例,则集合中仅保留一个实例,这很好。 但是,如果HashSet中有两个不同的实例,并采用一个实例并使其与另一个实例完全相同(通过复制字段),则HashSet将包含两个重复的实例。 这是演示此代码的代码: 上面代码的输出: 有没有一种方法可以强制HashSet验证其内容,以便删除在上述情况下创建的可能重复条目