如何在spring application.yml或application.properties中使用特殊字符($)作为属性键

时间:2018-08-24 14:46:46

标签: java spring spring-boot configuration properties-file

在配置第3方库时,遇到了需要指定带有特殊字符“ $”的spring属性键的问题。

库需要一张我可以指定为的地图:

info:
   someKeyWithDollarSign$_AfterDollarSign: someValueWithDollar$_AfterDollarSign
   otherKey: otherValue

但是当spring读取属性时,键中的美元符号($)就消失了。

我整理了一个基于Maven的示例项目here

如果您运行它,将会得到

{name=123, someKeyWithDollarSign_After=someValueWithDollar$_Sign}

而不是预期的

{name=123, someKeyWithDollarSign$_After=someValueWithDollar$_Sign}
                                ^-- this would be expected
  • 这完全可以实现吗?
  • 这可以通过属性文件(即application.property)来实现吗?

谢谢。

欢呼

1 个答案:

答案 0 :(得分:0)

尝试将以下带有编码参数的注释添加到您的配置文件中:

@PropertySource(value = "classpath:application-${env}.properties", encoding = "UTF-8")