我正在尝试将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>而且效果很好。问题是,当我还有另一个类扩展Class1,例如Class1a,在同一个蓝图xml文件上。
<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地图的例子,但是找不到。或者也许解决办法是别的什么?
发布于 2015-10-26 11:04:22
您可以使用父标记来指定继承,并获得对类中定义的属性的控制。您可以重用相同的内容,或者定义新的one.You,请参考下面的示例。
<bean id="bean1" class="MyBean">
<property name="attrib1" value="val1" />
<property name="attrib2" value="val2" />
</bean>
<bean id="bean2" parent="bean1">
<property name="attrib3" value="val3" />
<property name="attrib4" value="val4" />
</bean>https://stackoverflow.com/questions/33342992
复制相似问题