我有一个包含大量属性的.properties文件。这是一个例子:
mes.mail.debug=true
cookie.sso.domain = .stuffStuff.com
blabla.endpoint = blabla.com
test.value.property = myValue
问题在于最后一个问题(我刚刚添加到我们正在进行的项目中)。
我使用@Value("${PropertyName}")
注释阅读了这些属性,直到最近,当我使用同样的东西时,变量得到了propertyName而不是它的值:
@Value("${test.value.property}")
private String mProperty;
所以,mProperty得到"test.value.property"
,我正在寻找的是它来获得" myValue"。
究竟发生了什么?我的项目有问题吗?我已经在我朋友的电脑上测试过了,效果很好。
顺便说一下,我正在使用Spring Tool Suite
。
编辑:事实证明,它没有检测到我在属性文件中所做的更改。所以,如果我改变旧物业的价值;好像什么都没发生一样。 有没有人知道它为什么这样做?
答案 0 :(得分:0)
当您声明Property Placeholder Configurer加载属性文件时,您可以将其设置为忽略不可解析的占位符。
这意味着如果找不到使用@Value注入的属性,则会将其名称(或键)分配给变量。
在您的情况下,此选项已启用,应用程序加载的文件不是您正在编辑的文件。
要查看文件的加载位置,请检查占位符配置程序位置属性。