習(xí)慣了把集合定義在一個(gè)類的字段中,今天遇到想重用集合的定義,竟然不知道單獨(dú)的集合Bean應(yīng)該怎么定義了,記之,以備后用。
對Map來說,有一種比較搓的方法,就是直接用Map的構(gòu)造函數(shù):
1
<bean id="SymbolMap" class="java.util.HashMap">
2
<constructor-arg>
3
<map>
4
<entry>
5
<key><value><![CDATA[us;djia]]></value></key>
6
<value><![CDATA[us&dji]]></value>
7
</entry>
8
</map>
9
</constructor-arg>
10
</bean>
11

2

3

4

5

6

7

8

9

10

11

另一種稍微簡單的方法:
1
<bean id="emails" class="org.springframework.beans.factory.config.MapFactoryBean">
2
<property name="sourceMap">
3
<map>
4
<entry key="pechorin" value="pechorin@hero.org"/>
5
<entry key="raskolnikov" value="raskolnikov@slums.org"/>
6
<entry key="stavrogin" value="stavrogin@gov.org"/>
7
<entry key="porfiry" value="porfiry@gov.org"/>
8
</map>
9
</property>
10
</bean>
11

2

3

4

5

6

7

8

9

10

11

對這種方法,Sping還提供了ListFactoryBean, SetFactoryBean等類,這貌似是Spring的一個(gè)可擴(kuò)展框架,可以待以后進(jìn)一步研究這個(gè)框架的實(shí)現(xiàn)方式。
最簡單的一種方式就是直接用spring中提供的util包:
1
<util:map id="emails">
2
<entry key="pechorin" value="pechorin@hero.org"/>
3
<entry key="raskolnikov" value="raskolnikov@slums.org"/>
4
<entry key="stavrogin" value="stavrogin@gov.org"/>
5
<entry key="porfiry" value="porfiry@gov.org"/>
6
</util:map>
7

2

3

4

5

6

7

使用改方法時(shí),xml文件頭需要使用:
1
xmlns:util="http://www.springframework.org/schema/util"
2
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
3
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">

2

3

引用:
http://macrochen.iteye.com/blog/392616
http://springindepth.com/book/in-depth-ioc-collections.html