Java Spring中用于JNDI和属性文件的PropertyPlaceHolderConfigure组合
我想从两个地方读取属性: a) 在WebSphere server上将JNDI名称为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
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>