【发布时间】:2015-10-26 10:04:30
【问题描述】:
我正在尝试将 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 映射的示例,但找不到。或者也许解决方案是别的?
【问题讨论】:
标签: java xml hashmap osgi blueprint-osgi