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

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

spring xml配置标签<list>用于存储一个或多个值,有<value>,<ref>和<null>元素可以使用在list中.<value>用于设置简单的值如string,<ref>元素用于将其他的beans映射进来,<null>就是设置null值.

下面举例说明用法:

Product.java

这个类包含了一个字符串collection属性。

import java.util.*;

public class Product

{

private Collection<String> parts;

public void setParts(Collection<String> parts) {

this.parts = parts;

}

public Collection<String> getParts() {

return parts;

}

}

spring-beans-list.xml配置属性注入如下:

<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">

<list>

<value>Part 1</value>

<value>Part 2</value>

<value>Part 3</value>

</list>

</property>

</bean>

</beans>

这里使用<value>来注入三个string值.

现在,我们在主程序中来调用,看看结果如何;

RunDemoMain.java: 

该主程导入XML配置,并获取属性中的集合值

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-list.xml"});

Product product = (Product)appContext.getBean("product");

for (String part : product.getParts()) {

System.out.println(part);

}

}

如果private Collection<String> parts; 改为数组属性,如;

public class Product

{

private String[] parts;

public void setParts(String[] parts) {

this.parts = parts;

}

public String[] getParts() {

return parts;

}

}

XML配置方法和上例一样,没有任何更改,因为数组也可以理解为是集合的一种。

∮推荐文章

↑阅读排行