假設一個項目使用Spring並在XML中定義它的bean?它有一些在構造函數中接受Map的bean。如何在單獨的XML文件(在Spring中)定義映射屬性?
通常,這個映射被定義爲bean下的一個屬性,並且在它下面有條目。
但是如果條目列表很大?它會臃腫的XML大時間...
它可以(地圖)以某種方式定義在它的XML文件,然後由需要它的bean refferenced?怎麼樣 ?
假設一個項目使用Spring並在XML中定義它的bean?它有一些在構造函數中接受Map的bean。如何在單獨的XML文件(在Spring中)定義映射屬性?
通常,這個映射被定義爲bean下的一個屬性,並且在它下面有條目。
但是如果條目列表很大?它會臃腫的XML大時間...
它可以(地圖)以某種方式定義在它的XML文件,然後由需要它的bean refferenced?怎麼樣 ?
是的,使用<util:map>
語法(參見docs),例如,
beans1.xml
<util:map id="myMap">
<entry .../>
<entry .../>
<entry .../>
<entry .../>
</util:map>
beans2.xml
<import resource="beans1.xml"/>
<bean id="..." class="...">
<constructor-arg ref="myMap"/>
</bean>
skaffman的答案爲我工作。然而,設置了XML命名空間,beans1.xml應該是這樣的:
<?xml version="1.0" encoding="UTF-8"?>
<util:map id="myMap"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<entry key="myKey" value="myValue" />
</util:map>
我可以做相同的,但有註釋和規劃環境地政司? (一個獨立的bean類,代表地圖,註釋它用EL注入它的條目) – Belun 2010-12-15 16:36:50