属性文件通常不包含重复的键。因此,我假设您对每个不同的 'abc'、'pqr'键值都有不同的文件,即:您想要一个实例/一个属性文件。如果是这样,那么您可以加载所有属性文件并创建相应的 bean 定义,如下所示:
<bean id="ppc1"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:/mya.properties" />
<property name="placeholderPrefix" value="$a{" />
<property name="placeholderSuffix" value="}" />
</bean>
<bean id="ppc2"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:/myb.properties" />
<property name="placeholderPrefix" value="$b{" />
<property name="placeholderSuffix" value="}" />
</bean>
<bean id="objectA" class="MyObject">
<property name="field1" value="$a{abc}" />
<property name="field2" value="$a{pqr}" />
</bean>
<bean id="objectB" class="MyObject">
<property name="field1" value="$b{abc}" />
<property name="field2" value="$b{pqr}" />
</bean>
可以选择创建一个具有List<MyObject>
实例变量的“容器”bean。这将包含您的所有 MyObject 实例:
<bean id="myContainerBean" class="MyContainer">
<property name="objects">
<list>
<ref bean="objectA" />
<ref bean="objectB" />
</list>
</property>
</bean>
如果您想到“动态”解决方案,那么请接受@Biju 的回答。