Spring注入集合(数组、List、Map、Set)类型属性
目录
- 注入集合(数组、List、Map、Set)类型属性
- 把集合注入部分提取出来
注入集合(数组、List、Map、Set)类型属性
(1)创建类,定义数组,list,map,set类型属性,并且生成对应的set方法。
(2)在spring配置文件中进行配置。
Stu类:
package com.Keafmd.spring5.collectiontype;import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;/*** Keafmd** @ClassName: Stu* @Description: IOC操作Bean管理(xml注入属性集合)* @author: 牛哄哄的柯南* @date: 2021-01-15 14:15*/
public class Stu {//1、数组类型属性private String[] courses;//2、list集合类型属性private List<String> list;//3、map集合类型属性private Map<String,String> maps;//4、set集合类型属性private Set<String> sets;//学生所学的多门课程private List<Course> courseList;public void setCourseList(List<Course> courseList) {this.courseList = courseList;}public void setCourses(String[] courses) {this.courses = courses;}public void setList(List<String> list) {this.list = list;}public void setMaps(Map<String, String> maps) {this.maps = maps;}public void setSets(Set<String> 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);System.out.println(courseList);}}
bean1.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.xsd"><bean id="stu" class="com.Keafmd.spring5.collectiontype.Stu"><property name="courses"><array><value>Javavalue><value>C++value><value>Pythonvalue>array>property><property name="list"><list><value>小明value><value>小红value>list>property><property name="maps"><map><entry key="Java" value="java">entry><entry key="C++" value="c++">entry>map>property><property name="sets"><set><value>北京value><value>上海value>set>property><property name="courseList"><list><ref bean="course1">ref><ref bean="course2">ref>list>property>bean><bean id="course1" class="com.Keafmd.spring5.collectiontype.Course"><property name="cname" value="Spring5框架">property>bean><bean id="course2" class="com.Keafmd.spring5.collectiontype.Course"><property name="cname" value="MyBatis框架">property>bean>beans>
测试类:
package com.Keafmd.spring5.testdemo;import com.Keafmd.spring5.bean.Orders;
import com.Keafmd.spring5.collectiontype.Book;
import com.Keafmd.spring5.collectiontype.Course;
import com.Keafmd.spring5.collectiontype.Stu;
import com.Keafmd.spring5.factorybean.MyBean;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** Keafmd** @ClassName: TestSpring5demo1* @Description: 测试类* @author: 牛哄哄的柯南* @date: 2021-01-15 14:30*/
public class TestSpring5demo1 {@Testpublic void testCollection1(){ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");Stu stu = context.getBean("stu",Stu.class);stu.test();}}
输出结果:
[Java, C++, Python]
[小明, 小红]
{Java=java, C++=c++}
[北京, 上海]
[Course{cname='Spring5框架'}, Course{cname='MyBatis框架'}]Process finished with exit code 0
把集合注入部分提取出来
(1)在spring配置文件中引入名称空间util(
在配置信息中添加xmlns:util="http://www.springframework.org/schema/util"和http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd")。
(2)提取list集合类型属性注入。
(3)把提取的list集合类型属性注入使用。
Book类:
package com.Keafmd.spring5.collectiontype;import java.util.List;/*** Keafmd** @ClassName: Book* @Description:* @author: 牛哄哄的柯南* @date: 2021-01-15 14:56*/
public class Book {private List<String> list;public void setList(List<String> list) {this.list = list;}public void test(){System.out.println(list);}
}
bean2.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"><!--把集合注入部分提取出来--><!--1、提取list集合类型属性注入--><util:list id="bookList"><value>老人与海</value><value>平凡的世界</value><value>阿甘正传</value></util:list><!--2、提取list集合类型属性注入使用--><bean id="book" class="com.Keafmd.spring5.collectiontype.Book"><property name="list" ref="bookList"></property></bean></beans>
测试代码:
package com.Keafmd.spring5.testdemo;import com.Keafmd.spring5.bean.Orders;
import com.Keafmd.spring5.collectiontype.Book;
import com.Keafmd.spring5.collectiontype.Course;
import com.Keafmd.spring5.collectiontype.Stu;
import com.Keafmd.spring5.factorybean.MyBean;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** Keafmd** @ClassName: TestSpring5demo1* @Description: 测试类* @author: 牛哄哄的柯南* @date: 2021-01-15 14:30*/
public class TestSpring5demo1 {@Testpublic void testCollection2(){ApplicationContext context = new ClassPathXmlApplicationContext("bean2.xml");Book book = context.getBean("book",Book.class);book.test();}}
输出结果:
[老人与海, 平凡的世界, 阿甘正传]Process finished with exit code 0
以上就是Spring注入集合类型属性的全部内容。
看完如果对你有帮助,感谢点赞支持!
如果你是电脑端的话,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

加油!
共同努力!
Keafmd
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
