1

我有一个将java.util.Properties对象作为构造函数参数的方法。它目前正在通过 Spring 构建(参见文档):

<bean id="myObj" class="myClass">
    <constructor-arg>
        <value>
            prop1=1
            prop2=2
        </value>
    </constructor-arg>
</bean>

现在我想提取这个<value>...</value>块,以便我可以创建Properties从这些基本属性继承但覆盖/删除/添加一些属性的其他 bean。请注意,如果可能,我想保留<value></value>格式。

我尝试使用<util:properties>,但是,似乎没有办法使用与 中相同的格式<value></value>

我也尝试使用

<bean id="test" class="java.util.Properties">
    <constructor-args>
        <value>
             test1=1
             test2=2
        </value>
    </constructor-args>
</bean>

似乎即使 中有一个复制构造函数java.util.Properties,它也不起作用(给出一个空的 Properties 对象)。此外,如果我有一个 java.util.Properties bean,我将如何用另一个属性列表/bean 覆盖/扩展它?

4

3 回答 3

0

似乎审查我的编辑的人不是很有帮助,也不理解它。因此,我将在这里发布完整的答案。

<bean name="props" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
 <property name="properties">
    <value>
        test1=1
        test2=2
    </value>

</property>
</bean>

<bean name="props2" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
 <property name="propertiesArray">
  <list>
      <ref bean="props">
      <value>
           test1=OVERRIDE!
      </value>
  </list>
 </property>
</bean>

<bean id="myObj" class="myClass">
 <constructor-arg ref="props2">
 </constructor-arg>
</bean>
于 2013-02-13T18:23:12.360 回答
0

你可以这样做:

<bean name="props" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="properties">
        <value>
            test1=1
            test2=2
        </value>

    </property>
</bean>

然后参考其他地方的通用属性集:

<bean id="myObj" class="myClass">
    <constructor-arg ref="props">
    </constructor-arg>
</bean>
于 2013-01-11T19:31:17.947 回答
0

使用 Spring 3,您可以这样做:

<util:properties id="myProperties">
    <prop key="test1Key">test1Value</prop>
    <prop key="test2Key">test2Value</prop>
</util:properties>

<bean id="myObj" class="myClass">
    <constructor-arg index="0" ref="myProperties" />
</bean>
于 2015-09-08T15:17:59.717 回答