下面例子向您展示Spring如何注入值到集合类型(List,Set,Map,andProperties)。支持4个主要的集合类型: List – <list/>Set – <set/>Map – <map/>Properties – <props/>
Spring beans
一个Customer对象,有四个集合属性。package mon;import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;public class Customer {private List<Object> lists;private Set<Object> sets;private Map<Object, Object> maps;private Properties pros;//...}
在bean配置文件中不同的代码片段用来声明集合。
1. List示例
<property name="lists"><list><value>1</value><ref bean="PersonBean" /><bean class="mon.Person"><property name="name" value="yiibaiList" /><property name="address" value="Hainan" /><property name="age" value="28" /></bean></list></property>
2. Set示例
<property name="sets"><set><value>1</value><ref bean="PersonBean" /><bean class="mon.Person"><property name="name" value="yiibaiSet" /><property name="address" value="Hainan" /><property name="age" value="28" /></bean></set></property>
3. Map示例
<property name="maps"><map><entry key="Key 1" value="1" /><entry key="Key 2" value-ref="PersonBean" /><entry key="Key 3"><bean class="mon.Person"><property name="name" value="yiibaiMap" /><property name="address" value="Hainan" /><property name="age" value="28" /></bean></entry></map></property>
4. Properties示例
<property name="pros"><props><prop key="admin">admin@</prop><prop key="support">support@</prop></props></property>
Spring完整的 bean 配置文件。
<beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.5.xsd"><bean id="CustomerBean" class="mon.Customer"><!-- java.util.List --><property name="lists"><list><value>1</value><ref bean="PersonBean" /><bean class="mon.Person"><property name="name" value="yiibaiList" /><property name="address" value="Hainan Haikou" /><property name="age" value="28" /></bean></list></property><!-- java.util.Set --><property name="sets"><set><value>1</value><ref bean="PersonBean" /><bean class="mon.Person"><property name="name" value="yiibaiSet" /><property name="address" value="Hainan Haikou" /><property name="age" value="28" /></bean></set></property><!-- java.util.Map --><property name="maps"><map><entry key="Key 1" value="1" /><entry key="Key 2" value-ref="PersonBean" /><entry key="Key 3"><bean class="mon.Person"><property name="name" value="yiibaiMap" /><property name="address" value="Hainan Haikou" /><property name="age" value="28" /></bean></entry></map></property><!-- java.util.Properties --><property name="pros"><props><prop key="admin">admin@</prop><prop key="support">support@</prop></props></property></bean><bean id="PersonBean" class="mon.Person"><property name="name" value="yiibai1" /><property name="address" value="Hainan Haikou 1" /><property name="age" value="28" /></bean></beans>
执行程序
package mon;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class App {public static void main( String[] args ){ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");Customer cust = (Customer)context.getBean("CustomerBean");System.out.println(cust);}}
输出
Customer[lists=[1,mon.Person@4e4ee70b,mon.Person@1e1867d2],sets=[1,mon.Person@4e4ee70b,mon.Person@52f644b4],maps={Key1=1,Key2=mon.Person@4e4ee70b,Key3=mon.Person@54481b6d},pros={admin=admin@,support=support@}]
下载代码 –/s/1c0T3i5i