我已经搜索了很多,但是没有找到关于此的示例或声明。
是否可以使用Spring(目前为4.3)XML <util:map>
的简化形式在property
中分配bean
?
具体来说,我想简化/缩短:
<bean class="org.springframework.web.context.support.ServletContextAttributeExporter">
<property name="attributes">
<map>
<entry key="properties" value-ref="properties"/>
</map>
</property>
</bean>
答案 0 :(得分:1)
好的。这是您的示例:
<bean class="org.springframework.web.context.support.ServletContextAttributeExporter">
<property name="attributes">
<util:map>
<entry key="key1" value="strValue" /> <!-- value is string -->
<entry key="key2" value="1234" value-type="java.lang.Integer" /> <!-- Use value-type to explicitly specify the type -->
<entry key="key3" value-ref="fooBean"/> <!-- Use value-ref to reference to other bean -->
</util:map>
</property>
</bean>
答案 1 :(得分:1)
在Xml方面,它看起来要简洁得多! DTD不支持其他任何功能。
由于您需要裁判,所以内联也不会短一些。
答案 2 :(得分:1)
我发现这是最短的,它短2-3行,具体取决于格式。并假设您已经定义了必要的名称空间:
<util:map id="attributes">
<entry key="properties" value-ref="properties"/>
</util:map>
<bean class="org.springframework.web.context.support.ServletContextAttributeExporter"
p:attributes-ref="attributes"/>
但是可以说不值得附加的间接寻址和(IMO)较低的可读性。