Java Spring中用于JNDI和属性文件的PropertyPlaceHolderConfigure组合

Java Spring中用于JNDI和属性文件的PropertyPlaceHolderConfigure组合,java,spring,spring-mvc,Java,Spring,Spring Mvc,我想从两个地方读取属性: a) 在WebSphere server上将JNDI名称为JNDI的JNDI条目配置为资源环境条目 my.color.property=abc my.size.property=pqr b) 我的类路径上的属性文件config.properties propa=xyz propb=def propc=mno 我想以某种方式将上述5个属性(2个来自JNDI,3个来自属性文件)读取为PropertiesArray 我找到了为JNDI执行此操作的以下方法: <jee

我想从两个地方读取属性:

a) 在WebSphere server上将JNDI名称为
JNDI的JNDI条目配置为资源环境条目

my.color.property=abc
my.size.property=pqr
b) 我的类路径上的属性文件
config.properties

propa=xyz
propb=def
propc=mno
我想以某种方式将上述5个属性(2个来自JNDI,3个来自属性文件)读取为
PropertiesArray

我找到了为JNDI执行此操作的以下方法:

<jee:jndi-lookup id="myJndiProperties" jndi-name="environment/config" expected-type="java.util.Properties"/>

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
   <property name="propertiesArray">
        <list>
          <ref bean="myJndiProperties" />                    
        </list>
   </property>
   <property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>
然后

for (final String name: myJndiProperties.stringPropertyNames()) {
    System.out.println(myJndiProperties.getProperty(name));
}   
如何对属性文件执行相同的操作?如何将JNDI中的属性项和属性文件合并为一个
PropertiesArray

以下操作不起作用:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="propertiesArray">
    <list>
      <ref bean="myJndiProperties" />
      <value>classpath:config.properties</value>
    </list>
  </property>
  <property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>

classpath:config.properties
我正在使用Spring3.2.5和Java7


谢谢你的阅读

可能重复:@beny23的可能重复:这不是一个重复的问题。因为我想在XML的单个数组中组合这两个属性,然后从类中访问它。我不希望在我的类中以任何方式硬编码任何属性名称来访问该值。不要为此使用
PropertyPlaceHolderConfigure
。使用
进行此操作。另外,我强烈建议使用
而不是
PropertyPlaceHolderConfigure
。你需要完整属性而不是占位符的原因是什么?可能重复:可能重复@beny23:这不是一个重复的问题。因为我想在XML的单个数组中组合这两个属性,然后从类中访问它。我不希望在我的类中以任何方式硬编码任何属性名称来访问该值。不要为此使用
PropertyPlaceHolderConfigure
。使用
进行此操作。另外,我强烈建议使用
而不是
PropertyPlaceHolderConfigure
。您需要完整属性而不是使用占位符的原因是什么?
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="propertiesArray">
    <list>
      <ref bean="myJndiProperties" />
      <value>classpath:config.properties</value>
    </list>
  </property>
  <property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>