Spring中集合类型属性注入

本文内容纲要:Spring中集合类型属性注入

我们都知道如何去注入普通属性的值,非常简单,那么我们如何去注入开发中常见的集合类型的属性了,别急,往下看。

这里将介绍如何给Map list set Array Properties 这些属性注入值。

1.创建一个类:员工类Employee

package cn.entity;

/**

* 员工类

*

* @author hyj

*

*/

public class Employee {

//员工年龄

private Integer age;

//员工姓名

private String name;

public Employee() {

super();

// TODO Auto-generated constructor stub

}

public Employee(Integer age, String name) {

super();

this.age = age;

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

2.创建第二个类里面包含上面所包含的集合和数组

package cn.collection;

import java.util.List;

import java.util.Map;

import java.util.Properties;

import java.util.Set;

import cn.entity.Employee;

public class Collection {

private String [] empName;//数组

private List<Employee> empList;//list集合

private Set<Employee> empsets;//set集合

private Map<String,Employee> empMaps;//map集合

private Properties pp;//Properties的使用

public String[] getEmpName() {

return empName;

}

public void setEmpName(String[] empName) {

this.empName = empName;

}

public List<Employee> getEmpList() {

return empList;

}

public void setEmpList(List<Employee> empList) {

this.empList = empList;

}

public Set<Employee> getEmpsets() {

return empsets;

}

public void setEmpsets(Set<Employee> empsets) {

this.empsets = empsets;

}

public Map<String, Employee> getEmpMaps() {

return empMaps;

}

public void setEmpMaps(Map<String, Employee> empMaps) {

this.empMaps = empMaps;

}

public Properties getPp() {

return pp;

}

public void setPp(Properties pp) {

this.pp = pp;

}

}

3.创建ApplicationContext.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"

xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- 准备员工 -->

<bean id="emp1" class="cn.entity.Employee">

<property name="age" value="18"></property>

<property name="name" value="张三"></property>

</bean>

<bean id="emp2" class="cn.entity.Employee">

<property name="age" value="18"></property>

<property name="name" value="李四"></property>

</bean>

<!-- Collection对象-->

<bean id="collection" class="cn.collection.Collection">

<!-- 给数组赋值 -->

<property name="empName">

<list>

<value>张三</value>

<value>李四</value>

<value>王五</value>

</list>

</property>

<!-- 给list集合赋值 -->

<property name="empList">

<list>

<ref bean="emp1"/>

<ref bean="emp2"/>

</list>

</property>

<!-- 给set集合赋值 -->

<property name="empsets">

<set>

<ref bean="emp1"/>

<ref bean="emp2"/>

</set>

</property>

<!-- 给Map集合赋值 -->

<property name="empMaps">

<map>

<entry key="001" value-ref="emp1"></entry>

<entry key="002" value-ref="emp2"></entry>

</map>

</property>

<!-- 给Properties集合赋值 -->

<property name="pp">

<props>

<prop key="110" >hello</prop>

<prop key="120">Spring</prop>

</props>

</property>

</bean>

</beans>

4.测试类:

package cn.test;

import java.util.HashSet;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

import org.junit.Test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.collection.Collection;

import cn.entity.Employee;

public class TestHappy {

/**

* 给数组赋值

*/

@Test

public void setArray(){

ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

Collection collection=(Collection)context.getBean("collection");

for (String item : collection.getEmpName()) {

System.out.println(item);

}

}

/**

* 给list集合赋值

*/

@Test

public void setList(){

ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

Collection collection=(Collection)context.getBean("collection");

for (Employee item : collection.getEmpList()) {

System.out.println("年龄:"+item.getAge()+"姓名:"+item.getName());

}

}

/**

* 给set集合赋值

*/

@Test

public void setSet(){

ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

Collection collection=(Collection)context.getBean("collection");

for (Employee item : collection.getEmpsets()) {

System.out.println("年龄:"+item.getAge()+"姓名:"+item.getName());

}

}

/**

* 给map集合赋值

*/

@Test

public void setMap(){

ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

Collection collection=(Collection)context.getBean("collection");

Map<String, Employee> map=collection.getEmpMaps();

Iterator<String> iterator=map.keySet().iterator();

while (iterator.hasNext()) {

Employee employee=map.get(iterator.next());

System.out.println("年龄:"+employee.getAge()+"姓名:"+employee.getName());

}

}

@Test

/**

* Properties集合

*/

public void testSet(){

ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

Collection collection=(Collection)context.getBean("collection");

for(Entry<Object,Object> entry: collection.getPp().entrySet()){

System.out.println(entry.getKey().toString()+" "+entry.getValue().toString());

}

}

}

本文内容总结:Spring中集合类型属性注入

原文链接:https://www.cnblogs.com/hyjj/p/5945178.html

以上是 Spring中集合类型属性注入 的全部内容, 来源链接: utcz.com/z/296002.html

回到顶部