Spring XML配置<Set>注入Bean属性举例

时间:2012-01-22 浏览:7次 来源:本站

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

∮推荐文章

↑阅读排行