Spring|Spring IOC容器Bean管理XML注入集合类型属性

目录

  • 一、定义数组、list、map、set类型属性
  • 二、配置文件中进行对应配置
  • 三、注入对象集合类型
  • 四、提取注入集合的部分
    • 1. 引入名称空间 util
    • 2. 使用 util 标签完成集合注入的提取

一、定义数组、list、map、set类型属性 创建类、定义数组、list、map、set类型属性,生成对应set方法。
package com.pingguo.spring5.collectiontype; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Set; public class Student {// 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; }public void test() {System.out.println(Arrays.toString(courses)); System.out.println(list); System.out.println(maps); System.out.println(sets); }}


二、配置文件中进行对应配置
java开发课程数据库课程大周小毛帅胡小姜

写一个测试类,方便测试。
package com.pingguo.spring5.testdemo; import com.pingguo.spring5.collectiontype.Student; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestSpring5Demo2 {@Testpublic void testCollection() {ApplicationContext context =new ClassPathXmlApplicationContext("bean1.xml"); Student student = context.getBean("student", Student.class); student.test(); }}

运行测试结果
[java开发课程, 数据库课程][大周, 小毛]{班长=胖洪, 采购=大周}[帅胡, 小姜]Process finished with exit code 0


三、注入对象集合类型 在上面集合里的内容都是用的 String,如果现在里面是对象,要如何注入?
ok,现在新增一个类 Course:
package com.pingguo.spring5.collectiontype; public class Course {private String course_name; public void setCourse_name(String course_name) {this.course_name = course_name; }@Overridepublic String toString() {return "Course{" +"course_name='" + course_name + '\'' +'}'; }}

接下来,在 Student 类里,加上这个 Course 对象属性,并且生成对应的 set 方法:
... ...public class Student {... ...// 5. 学生所学多门课程privateList courseList; public void setCourseList(List courseList) {this.courseList = courseList; }... ...public void test() {System.out.println(Arrays.toString(courses)); System.out.println(list); System.out.println(maps); System.out.println(sets); System.out.println(courseList); }}

操作配置文件。
在配置文件中可以新增多个 course 对象。

然后在 注入的时候使用 ref 标签。

OK,现在运行测试类,看下结果:
[java开发课程, 数据库课程][大周, 小毛]{班长=胖洪, 采购=大周}[帅胡, 小姜][Course{course_name='胡氏面点课'}, Course{course_name='毛氏面点课'}]

注入成功。

四、提取注入集合的部分 上面集合注入的地方,当有多个值的时候感觉还是比较麻烦的,如果可以把这部分提取出来就更好了。

现在新建一个类 Book 来演示:
package com.pingguo.spring5.collectiontype; import java.util.List; public class Book {private List list; public void setList(List list) {this.list = list; }public void test() {System.out.println(list); }}


1. 引入名称空间 util
为了方便,新建一个 bean2.xml,在里面先引入名称空间 util

增加的地方:
Spring|Spring IOC容器Bean管理XML注入集合类型属性
文章图片


2. 使用 util 标签完成集合注入的提取
以提取 list 集合为例。
mysql是怎样运行的大数据测试谷歌的软件测试之道

然后,使用提取出来的集合,使用 ref 属性。

测试一下,新建一个测试方法 testCollection2() 。
@Testpublic void testCollection2() {ApplicationContext context =new ClassPathXmlApplicationContext("bean2.xml"); Book book = context.getBean("book", Book.class); book.test(); }

【Spring|Spring IOC容器Bean管理XML注入集合类型属性】运行测试方法:
[mysql是怎样运行的, 大数据测试, 谷歌的软件测试之道]Process finished with exit code 0

注入成功。
以上就是Spring IOC容器Bean管理XML注入集合类型属性的详细内容,更多关于Spring IOC Bean注入XML集合的资料请关注脚本之家其它相关文章!

    推荐阅读