我尝试配置我的春季应用。 我需要像这样定义属性占位符:
<context:property-placeholder
location="classpath:ov.properties,file:#{appServerUrl.replaceFirst('regexp','')}/test.properties"
ignore-resource-not-found="true" />
但结果我有org.springframework.expression.ParseException: Expression 'file:#{appServerUrl.replaceFirst(''' @ 5: No ending suffix '}' for expression starting at character 5
如果我只使用一个参数或没有参数调用java方法,它可以正常工作。怎么了?谢谢你的回复。
答案 0 :(得分:1)
TextView
元素的解析器首先使用<context:property-placeholder/>
拆分location
属性的值。这就是为什么将你的第二个位置分成两部分。
为了避免这种情况,您可以使用第二个位置的值定义StringUtils.commaDelimitedListToStringArray(String)
bean:
String
然后像这样使用它:
<bean name="testPropertiesLocation" class="java.lang.String">
<constructor-arg value="file:#{appServerUrl.replaceFirst('regexp','')}/test.properties" />
</bean>