Spring提供了4种类型的集合,分别是list,set,map,props。
list和set都可用于数组和集合类,包括List,Set和Vector。
需要注意的是,如果注入的类型和配置文件中有一个是set类型,那么注入的值中肯定是无重复的。
map和props对应于JDK的Map和Properties。它们是键值对的集合。map和props的区别是,map的键值类型是object,而props是String-String类型。
下面是一个简单的list注入
package zjut.benson.spring.collection;
import java.util.List;
public class Class {
private List<String> students;
public void setStudents(List<String> students) {
this.students = students;
}
public List<String> getStudents() {
return students;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<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.xsd">
<bean id="class" class="zjut.benson.spring.collection.Class">
<property name="students">
<list>
<value>student1</value>
<value>student2</value>
<value>student3</value>
<value>student3</value>
</list>
</property>
</bean>
</beans>
package zjut.benson.spring.collection;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App
{
public static void main( String[] args )
{
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
Class myClass = (Class) context.getBean("class");
for(String stu : myClass.getStudents()) {
System.out.println(stu);
}
}
}
pom.xml的依赖配置:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>3.2.2.RELEASE</version>
</dependency>
</dependencies>