将hashmap定义为bean

时间:2015-10-26 10:04:30

标签: java xml hashmap osgi blueprint-osgi

我正在尝试将HashMap定义为蓝图xml上的bean。最初的问题是我有

<bean id="class1" class="com.acme.Class1">
  <property name="acmeMap">
    <map>
      <entry-key="coyotte" value="Poor Fellow"/>
      <entry-key="roadRunner" value="Sadistic Bird"/>
    </map>
  </property>
</bean>

它运作良好。问题是我还有另一个类在同一个蓝图xml文件上扩展了Class1,例如Class1a。

<bean id="class1a" class="com.acme.Class1a">
  <property name="acmeMap">
    <map>
      <entry-key="coyotte" value="Poor Fellow"/>
      <entry-key="roadRunner" value="Sadistic Bird"/>
    </map>
  </property>
</bean>

这意味着定义地图两次并且必须将其保留在蓝图xml上。没有办法实例化,例如

之类的东西
 <bean id="acmeMap" class="java.util.HashMap"/> 

并使用我需要的值初始化它,然后在其他bean上导入引用?这意味着acmeMap只创建一次。我确实搜索了在互联网上初始化蓝图bean地图的例子,但却找不到。或者解决方案可能是别的什么?

1 个答案:

答案 0 :(得分:1)

您可以使用parent标记指定继承并获取对类中定义的属性的控制。你可以重复使用它或定义新的。你可以参考下面的例子。

which mysqld