如何在spring app context xml文件中调用带有一些参数的java方法

时间:2015-07-17 04:29:56

标签: java spring spring-mvc applicationcontext

我尝试配置我的春季应用。 我需要像这样定义属性占位符:

<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方法,它可以正常工作。怎么了?谢谢你的回复。

1 个答案:

答案 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>