0

我有一个名为 的属性文件,setting.properties内容如下:

authentication.provider=${Home_Url}/idm/names.lst

我正在通过框架内使用此文件PropertyPlaceholderConfigurerSpring如下所示:

<bean id="acl.authentication.provider" class="java.lang.String">
    <constructor-arg index="0" value="${authentication.provider}"/>
</bean>

但是当我初始化上述上下文时,我收到以下错误:

线程“主”org.springframework.beans.factory.BeanDefinitionStoreException 中的异常:
类路径资源 [context.xml] 中定义的名称为“acl.authentication.provider#0”的无效 bean 定义:无法解析占位符“Home_Url”

$我的问题是:当属性文件中的值要使用 PropertyPlaceholderConfigurer 进行处理时,有没有一种方法可以包含一个字符?

4

1 回答 1

1

最简单的解决方法是将PropertyPlaceholderConfigurerignoreUnresolvablePlaceholders属性设置为配置true,这将导致它忽略它无法解决的 plcaeholder,而不是失败并出现异常。或者,将 更改placeholderPrefix为其他内容,例如@{,然后使用

<constructor-arg index="0" value="@{authentication.provider}"/>
于 2013-04-08T10:50:39.350 回答