spring——Spring 注入集合(转载)
我们还可以在 Bean 标签下的
| 标签 | 说明 |
|---|---|
| 用于注入 list 类型的值,允许重复 | |
| 用于注入 set 类型的值,不允许重复 | |
| 用于注入 key-value 的集合,其中 key 和 value 都可以是任意类型 | |
| 用于注入 key-value 的集合,其中 key 和 value 都是字符串类型 |
示例 1:在集合中设置普通类型的值
下面我们通过一个实例,演示下如何注入集合类型的属性和参数。
1. 参考《第一个 Spring 程序》,新建一个名为 my-spring-demo4 的 Java 项目。
2. 在 net.biancheng.c 包下,创建一个名为 JavaCollection 的类,代码如下。
package net.biancheng.c;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class JavaCollection {
//1 数组类型属性
private String[] courses;
//2 list 集合类型属性
private List list;
//3 map 集合类型属性
private Map maps;
//4 set 集合类型属性
private Set sets;
public void setCourses(String[] courses) {
this.courses = courses;
}
public void setList(List list) {
this.list = list;
}
public void setMaps(Map maps) {
this.maps = maps;
}
public void setSets(Set sets) {
this.sets = sets;
}
@Override
public String toString() {
return "JavaCollection{" +
"courses=" + Arrays.toString(courses) +
", list=" + list +
", maps=" + maps +
", sets=" + sets +
'}';
}
}
2. 在 src 目录下创建 Spring 配置文件 Beans.xml,配置如下。
Java PHP C 语言
张三 李四 王五 赵六 MySQL Redis
============================================================
示例 2:在集合中设置对象类型的值
在上面的示例中,都是在集合中通过 value 属性设置的普通类型的值,我们还可以通过 ref 属性在注入到 Bean 的集合中设置对象类型的值。
1. 在 my-spring-demo4 项目的 net.biancheng.c 包中,创建一个名为 Course 的类,代码如下。
package net.biancheng.c;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class Course {
private static final Log LOGGER = LogFactory.getLog(Course.class);
//课程编号
private Integer courseId;
//课程名称
private String courseName;
public void setCourseId(Integer courseId) {
this.courseId = courseId;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
@Override
public String toString() {
return "Course{" +
"courseId=" + courseId +
", courseName='" + courseName + '\'' +
'}';
}
}
2. 将 JavaCollection 中的代码修改成以下形式。
package net.biancheng.c;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class JavaCollection {
//1 数组类型属性
private Course[] courses;
//2 list 集合类型属性
private List list;
//3 map 集合类型属性
private Map maps;
//4 set 集合类型属性
private Set sets;
public void setCourses(Course[] courses) {
this.courses = courses;
}
public void setList(List list) {
this.list = list;
}
public void setMaps(Map maps) {
this.maps = maps;
}
public void setSets(Set sets) {
this.sets = sets;
}
@Override
public String toString() {
return "JavaCollection{" +
"courses=" + Arrays.toString(courses) +
", list=" + list +
", maps=" + maps +
", sets=" + sets +
'}';
}
}
3. 将 Beans.xml 中配置修改成以下内容。
张三 李四 王五 赵六 MySQL Redis