6.Spring 依赖注入 - 集合注入

java中的集合主要有:List,Set,Map,此外还有个Properties

实例1:为单独的类设置属性

一.目录

二.代码

UserInfo.java

 

package com;
import java.util.Set;
import java.util.List;
import java.util.Map;

public class UserInfo {
	//声明三个变量
	private Set<String> sets1;
	private List<String> list;
	private Map<String,Object> map;

	//set.get方法
	public Set<String> getSets1() {
		return sets1;
	}
	public void setSets1(Set<String> sets1) {
		this.sets1 = sets1;
	}
	public List<String> getList() {
		return list;
	}
	public void setList(List<String> list) {
		this.list = list;
	}
	public Map<String, Object> getMap() {
		return map;
	}
	public void setMap(Map<String, Object> map) {
		this.map = map;
	}

}


Test.java

 

 

package test;

import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;


import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.UserInfo;

public class Test {

	public static void main(String[] args) {
		BeanFactory bf=new ClassPathXmlApplicationContext("beans.xml");
		UserInfo user=(UserInfo)bf.getBean("userInfo");
		
		 //打印set集合下的个数
		 Set<String> sets=user.getSets1();
		 System.out.println(sets.size());
		 
		 //打印set下所有的数据
		 Iterator<String> iter=sets.iterator();
		 while(iter.hasNext()) {
			 System.out.println(iter.next());
		 }
		
		 //打印list集合的属性
		 List<String> list1=user.getList();
		 System.out.println(list1);
		 
		 //打印map集合的属性
		 Map<String,Object> map1=user.getMap();
		 System.out.println(map1.get("id"));
		 System.out.println(map1.get("name"));
		 System.out.println(map1.get("sex"));
	}
}

 

 

beans.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-3.0.xsd">
	
	<bean id="userInfo" class="com.UserInfo">
		<property name="sets1">
			<set>
				<value>张三</value>
				<value>李四</value>
				<value>王五</value>
			</set>
		</property>
		
		<property name="list">
			<list>
				<value>张三list</value>
				<value>李四list</value>
				<value>王五list</value>
			</list>
		</property>
		
				<property name="map">
			<map>
				<entry key="id" value="101"/>
				<entry key="name" value="小李"/>
				<entry key="sex" value="女"/>
			</map>
		</property>
	</bean>
</beans>

 

 

运行Test.java后在控制台打印如下结果:


 

实例2:Person类作为Department类的变量,设置属性
代码:

Person.java

 

package com;

import java.util.List;

public class Person {
	private Integer id;
	private String name;

	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String toString() {
		return "Person [id=" + id + ", name=" + name + "]";
	}
	
}


Department.java

 

 

package com;

import java.util.List;

public class Department {
	private String deId;
	private String deName;
	private List<Person> list1;
	public String getDeId() {
		return deId;
	}
	public void setDeId(String deId) {
		this.deId = deId;
	}
	public String getDeName() {
		return deName;
	}
	public void setDeName(String deName) {
		this.deName = deName;
	}
	public List<Person> getList1() {
		return list1;
	}
	public void setList1(List<Person> list1) {
		this.list1 = list1;
	}
	@Override
	public String toString() {
		return "Department [deId=" + deId + ", deName=" + deName + ", list1=" + list1 + "]";
	}
	
}

 

 

Test1.java

 

package test;

import java.util.List;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.Department;
import com.Person;

public class Test1 {

	public static void main(String[] args){
		BeanFactory bf=new ClassPathXmlApplicationContext("beans.xml");
		Department de1=(Department) bf.getBean("department");
		System.out.println(de1);
		
		List<Person> list=de1.getList1();
		for(Person p:list) {
			System.out.println(p);
		}
	
	}

}

 

 

beans.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-3.0.xsd">
	
	<!-- 给Person设值 -->	
	<bean id="person" class="com.Person">
		<property name="id" value="111"></property>
		<property name="name" value="易广"/>
	</bean>
	
	<!-- 给department设值 -->
	<bean id="department" class="com.Department">
		<property name="deId" value="110"/>
		<property name="deName" value="技术部"/>
		<property name="list1">
			<list>
				<ref bean="person"/>
			</list>
		</property>
	</bean>
</beans>


运行Test1.java后在控制台打印:

 




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值