spring <Set>配置用来存储多个唯一性的值,他的子标签<ref>能够用来指向一个被调用的bean实例ID,下面举例说明使用方法:
Product.java
包含了一个集合属性列表,集合类型都是Part类。
import java.util.*;
public class Product
{
private List<Part> parts;
public void setParts(List<Part> parts) {
this.parts = parts;
}
public List<Part> getParts() {
return parts;
}
}
Part.java
一个对象,将用于属性列表的对象注入.
import java.util.*;
public class Part
{
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
spring-beans.xml
<set>元素被用于提供一个独一无二的值注入到Product Class属性中,
配置如下:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="product" class="Product">
<property name="parts">
<set>
<ref bean="part1"/>
<ref bean="part2"/>
<ref bean="part3"/>
</set>
</property>
</bean>
<bean id="part1" class="Part">
<property name="name" value="Part 1"/>
</bean>
<bean id="part2" class="Part">
<property name="name" value="Part 2"/>
</bean>
<bean id="part3" class="Part">
<property name="name" value="Part 3"/>
</bean>
</beans>
RunDemoMain.java
调用主程代码:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class RunDemoMain
{
public static void main( String[] args )
{
ApplicationContext appContext =
new ClassPathXmlApplicationContext(new String[] {"spring-beans.xml"});
Product product = (Product)appContext.getBean("product");
for (Part part : product.getParts()) {
System.out.println(part.getName());
}
}
}
如果我们在集合中映射多个一样的实例ID,则只有一个能够被设置倒属性中,如:
<bean id="product" class="Product">
<property name="parts">
<set>
<ref bean="part1"/>
<ref bean="part1"/>
<ref bean="part3"/>
</set>
</property>
</bean>
这里part1和part3两个实体会被设置到属性集合中。
上一篇: Spring XML配置<Map>注入Bean属性举例 2012-01-22 17:38
下一篇: Spring XML配置<list>注入Bean属性举例 2012-01-22 17:05
Copyright©2007-2012 www.txdnet.cn All Rights Servered. Powered By JITCMS V1.5 京ICP备09017503号.
Host By www.fjjsp.com
.