配置 java.util.List 类型的属性, 需要指定 <list> 标签, 在标签里包含一些元素. 这些标签可以通过 <value> 指定简单的常量值, 通过 <ref> 指定对其他 Bean 的引用. 通过<bean> 指定内置 Bean 定义. 通过 <null/> 指定空元素. 甚至可以内嵌其他集合。
数组的定义和 List 一样, 都使用 <list>
配置 java.util.Set 需要使用 <set> 标签, 定义元素的方法与 List 一样.
Java.util.Map 通过 <map> 标签定义, <map> 标签里可以使用多个 <entry> 作为子标签. 每个条目包含一个键和一个值. 必须在 <key> 标签里定义键。因为键和值的类型没有限制, 所以可以自由地为它们指定 <value>, <ref>, <bean> 或 <null> 元素. 可以将 Map 的键和值作为 <entry> 的属性定义: 简单常量使用 key 和 value 来定义; Bean 引用通过 key-ref 和 value-ref 属性定义。
使用 <props> 定义 java.util.Properties, 该标签使用多个 <prop> 作为子标签. 每个 <prop> 标签必须定义 key 属性。
<!-- CollectionClass类有3个属性,List<String> list、Set<String> set、Map<String, String> map--> <bean id="collectionClass" class="com.luoxn28.CollectionClass"> <property name="list"> <list> <value>luoxn28</value> <value>luoxn29</value> <value>luoxn30</value> </list> </property> <property name="set"> <set> <value>luoxn28</value> <value>luoxn29</value> <value>luoxn30</value> </set> </property> <property name="map"> <map> <entry key="str1" value="luoxn28"/> <entry key="str2"><value>luoxn29</value></entry> <entry key="str3"><value>luoxn30</value></entry> </map> </property> </bean>
1.6 使用p命名空间为了简化 XML 文件的配置,越来越多的 XML 文件采用属性而非子元素配置信息。Spring 从 2.5 版本开始引入了一个新的 p 命名空间,可以通过 <bean> 元素属性的方式配置 Bean 的属性。使用 p 命名空间后,基于 XML 的配置方式将进一步简化,使用示例如下所示:
<bean id="msg" class="java.lang.String"> <constructor-arg value="luoxn28"/> </bean> <!-- Hello类中有一个String类型的msg属性 --> <bean id="hello" class="com.luoxn28.Hello" p:msg="luoxn28"> </bean> <bean id="hello1" class="com.luoxn28.Hello" p:msg-ref="msg"> </bean>
使用p命名空间需要引入 xmlns:p="http://www.springframework.org/schema/p" 。
2 Bean配置高级特性 2.1 XML配置中Bean的自动装配Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 <bean> 的 autowire 属性里指定自动装配的模式