Spring_Bean_集合注入

62 阅读1分钟

1.创建实体类

public class Department {  
    private String name;  
    private String [] arr;//数组  
    private List<Emp> list;//list集合  
    private Set<Emp> set;//set集合  
    private Map<String,Emp> map;//map集合  
    private Properties pp;//Properties的使用  
    
    
	
    //省略get/set方法
	......
}  

2.对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="department" class="com.xxx.xxx.Department">
			<property name="name" value="财务部"/>
                        <!-- 给数组注入值 -->
			<property name="arr">
				<list>
                                    <value>小明</value>
					<value>小明</value>
				</list>
			</property>

			<!-- 给list注入值 list 中可以有相当的对象 -->
			<property name="list">
				<list>
					<ref bean="emp2" />
					<ref bean="emp1"/>
				</list>
			</property>

			<!-- 给set注入值 set不能有相同的对象 -->
			<property name="set">
				<set>
					<ref bean="emp1" />
					<ref bean="emp2"/>
				</set>
			</property>

			<!-- 给map注入值 map只有key不一样,就可以装配value -->
			<property name="map">
				<map>
					<entry key="11" value-ref="emp1" />
					<entry key="22" value-ref="emp2"/>
					<entry key="22" value-ref="emp1"/>
				</map>
			</property>

			<!-- 给属性集合配置 -->
			<property name="pp">
				<props>
					<prop key="pp1">abcd</prop>
					<prop key="pp2">hello</prop>
				</props>
			</property>
		</bean>

		<bean id="emp1" class="com.xxx.xxx.Emp">
			<property name="name" value="北京"/>
			<property name="id" value="1"/>
		</bean>
		<bean id="emp2" class="com.xxx.xxx.Emp">
			<property name="name" value="天津"/>
			<property name="id" value="2"/>
		</bean>

	</beans>

3.通过api获取对应属性

public void test(){
        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");  
        Department department=(Department) ac.getBean("department");  
		arr/list/set/map/pp = department.getXXX();
		//遍历
	}