使用以下代码段在Spring XML配置文件中默认值时:
<util:properties id="defaultConfiguration">
<prop key="test.value">${first.value:notFilledIn}</prop>
</util:properties>
<context:property-placeholder properties-ref="defaultConfiguration" order="605" ignore-unresolvable="true"/>
加载以下属性:
first.value=first
second.value=second
该值始终以&#34;默认值&#34;价值,而不是第一把钥匙。
@Value("${test.value}")
private String theValue;
.....
System.out.println("theValue: " + theValue);
输出:
theValue: notFilledIn
如果我将XML配置中的prop值更改为:
<prop key="test.value">${first.value}</prop>
价值按预期回归:
theValue: first
当&#34;键&#34;时,为什么总是拉出默认值?第一个值存在?
答案 0 :(得分:0)
我有同样的问题, 我希望这对任何人都有帮助。
确保您只有一个
<context:property-placeholder>
在您的代码中,否则它们会互相覆盖 并且您的密钥不会被设置