在spring容器中配置bean,常用到的元素除了<value>和<ref>外,還有<props>、<list>、<set>、<map>,在hibernate等框架的配置文件中我們經常可以見到這些元素,下面是他們的具體用法。
1.<props>元素
<props>創建了一個注入的java.util.Properties元素。例如每個人都有身高、體重等基本信息
1 import java.util.Properties;
2
3 public class Person {
4 private Properties basicInfo;
5
6 public void setBasicInfo(Properties basicInfo) {
7 this.basicInfo = basicInfo;
8 }
9 }
配置方式:
1 <bean id="person" class="Person">
2 <property name="basicInfo">
3 <props>
4 <!-- 身高 -->
5 <prop key="stature">1.75</prop>
6 <!-- 體重 -->
7 <prop key="avoirdupois">120</prop>
8 </props>
9 </property>
10 </bean>
2.<list>元素
<list>元素對應于java.util.ArrayList.例如每個人都有一些朋友
1 package org.hag.flex.model;
2
3 import java.util.List;
4 import java.util.Properties;
5
6 public class Person {
7 private Properties basicInfo;
8 private List friends;
9
10 public void setBasicInfo(Properties basicInfo) {
11 this.basicInfo = basicInfo;
12 }
13
14 public void setFriends(List friends) {
15 this.friends = friends;
16 }
17 }
18
配置該person的朋友有小紅、姚明和張三
1 <bean id="yaoming" class="Person">
2 <prop key="age">25</prop>
3 <prop key="stature">2.26</prop>
4 <prop key="avoirdupois">140</prop>
5 </bean>
6 <bean id="person" class="Person">
7 <property name="basicInfo">
8 <props>
9 <!-- 身高 -->
10 <prop key="stature">1.75</prop>
11 <!-- 體重 -->
12 <prop key="avoirdupois">120</prop>
13 </props>
14 </property>
15 <property name="firends">
16 <list>
17 <value>xiaohong</value>
18 <ref local="yaoming"/>
19 <value>zhangsan</value>
20 </list>
21 </property>
22 </bean>
3.<set>元素
<set>元素和<list>元素的用法一樣,不同的是他注入的是java.util.Set元素。
4.<map>元素
<map>元素用來注入java.util.Map元素。
省略java代碼
1 <property name="score">
2 <map>
3 <entry key="math" value="150"></entry>
4 <entry key="english" value="140"></entry>
5 <entry key="chinese" value="60"></entry>
6 </map>
7 </property>
以上資料參考《Spring2企業應用開發》及
spring中bean的高級屬性之list, set, map以及props元素(含舉例)。