【发布时间】:2021-01-21 07:43:13
【问题描述】:
我正在使用 Spring 3.5 和 xml 配置处理一个旧项目。
在应用程序上下文中,我将一个属性设置为一个外部配置的 xml 文件值,所以像这样 -
<bean id="myService" class="com.mypath.MyService">
<property name="myProperty" value="${myValue}:myDefaultValue" />
</bean>
这一切正常。
在一些测试中,虽然有一个 test-context.xml 开始发挥作用,它设置属性的值,像这样
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="properties">
<util:properties>
<prop key="myProperty">myValue</prop>
</util:properties>
</property>
</bean>
这无法“理解”默认值。如果我将值留空,我会得到 :myDefaultValue 返回。如果我像我的示例所示设置 myValue,我会得到 myValue:myDefaultValue。
我在 PropertyPlaceholderConfigurer 上遇到了一个快速的高峰,它看起来非常基本,没有很多选项。我以前没用过。有谁知道我是否有一种简单的方法来处理默认值?或者也许我必须使用不同的方法来设置测试上下文值?
【问题讨论】:
-
IIRC,应该是
${myValue:defaultValue}。 -
多么棒的木板啊。是的,这解决了问题。谢谢。
-
不确定前进的方向。如果你喜欢把它作为你已经解决的答案。否则我会删除问题并假装它从未发生过......