在配置第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
谢谢。
欢呼
答案 0 :(得分:0)
尝试将以下带有编码参数的注释添加到您的配置文件中:
@PropertySource(value = "classpath:application-${env}.properties", encoding = "UTF-8")