Spring XML使用资源文件进行占位配置不生效

之前一直困扰的关于在XML文件中使用spring读取资源文件,并使用${}占位符替换的问题,现在终于搞明白了。

  1. 如果存在多个XML文件需要使用资源文件占位替换,必须在每个XML文件的头部进行首先加载
  2. 在多个XML文件中注入资源文件时,配置order,并设置ignoreUnresolvablePlaceholders=true

具体配置如下:

<!--  引入外部数据源配置信息  必须要放在XML头部加载  -->
    <bean   class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <!-- 否忽略找不到的属性. -->
        <property name="ignoreResourceNotFound" value="true" /> 
        <!-- ignoreUnresolvablePlaceholders为是否忽略不可解析的Placeholder,
            如配置了多个PropertyPlaceholderConfigurer,则需设置为true -->
        <property name="ignoreUnresolvablePlaceholders" value="true" />
        <!-- order属性代表其加载顺序  value数字越小越先加载 -->
        <property name="order" value="2" />
        <property name="locations">
            <list>
                <value>classpath:runMode/db.properties</value>
            </list>
        </property>
    </bean>
 

猜你喜欢

转载自himo-zhang.iteye.com/blog/2347151