1

所以,我正在尝试为 dbProperties 设置一个默认属性文件。但这似乎不起作用。

知道我在这里做错了什么吗?任何帮助,将不胜感激。

这就是我的 Application.xml 文件中的内容:

<util:properties id="dbProps" location="classpath:dbConf.properties" />
<util:properties id="defaultDbProps" location="classpath:dbConf.properties" />

@Configuration
class DBConfig {
   @Value('#{dbProps:#{defaultDbProps}}')
   private Properties dbProperties
}

如果未提供 dbProps,我的最终目标是将 dbProperties 指向 defaultDbProps。

4

1 回答 1

1

首先:defaultDbProps位置是一样的dbProps

您以错误的方式访问属性值(使用 spEL);以这种方式使用${}标签@Value('${my.property}'),但要${}可用,您需要PropertyPlaceholderConfigurer

<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="propertiesArray">
    <list>
      <ref bean="defaultDbProps"/>
      <ref bean="dbProps"/>
    </list>
  </property>
</bean>

使用此 bean defaultDbProps 首先加载,然后 dbProps 覆盖具有相同名称的属性

于 2013-08-09T05:27:52.660 回答