Sping配置集合類型與繼承配置

package com.pas.collection;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Department {

	private String name;
	private String[] empname;
	private List<Employee> emps;
	private Set<Employee> empsSet;
	private Map<String, Employee> empMaps;

	public Map<String, Employee> getEmpMaps() {
		return empMaps;
	}

	public void setEmpMaps(Map<String, Employee> empMaps) {
		this.empMaps = empMaps;
	}

	public Set<Employee> getEmpsSet() {
		return empsSet;
	}

	public void setEmpsSet(Set<Employee> empsSet) {
		this.empsSet = empsSet;
	}

	public String getName() {
		return name;
	}

	public List<Employee> getEmps() {
		return emps;
	}

	public void setEmps(List<Employee> emps) {
		this.emps = emps;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String[] getEmpname() {
		return empname;
	}

	public void setEmpname(String[] empname) {
		this.empname = empname;
	}

}

beans配置文件:
java

<?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:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
				http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
				http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

	<bean id="dept" class="com.pas.collection.Department">
		<property name="name" value="財務部" />
		<property name="empname">
			<!-- 給數組或list注值 -->
			<list value-type="java.lang.String">
				<value>小馬</value>
				<value>小王</value>
				<value>小李</value>
			</list>
		</property>

		<property name="emps">
			<!-- list賦值 -->
			<list value-type="com.pas.collection.Employee">
				<ref bean="emp1" />
				<ref bean="emp2" />
			</list>
		</property>

		<property name="empsSet">
			<!-- set賦值 -->
			<set value-type="com.pas.collection.Employee">
				<ref bean="emp2" />
				<ref bean="emp1" />
			</set>
		</property>
		<property name="empMaps">
			<!-- Map賦值 -->
			<map>
				<entry key="1" value-ref="emp1" />
				<entry key="2" value-ref="emp2" />
			</map>
		</property>
	</bean>

	<bean id="emp1" class="com.pas.collection.Employee">
		<property name="name" value="北京" />
	</bean>
	<bean id="emp2" class="com.pas.collection.Employee">
		<property name="name" value="天津" />
	</bean>

	<!-- 繼承配置 -->
	<!-- 配置一個學生對象 -->
	<bean id="student" class="com.pas.inherit.Student">
		<property name="name" value="順平" />
		<property name="age" value="30" />
	</bean>
	<!-- 配置graduate對象 -->
	<bean id="graduate" parent="student" class="com.pas.inherit.Graduate">
		<!-- 若是本身配置屬性name,age,則會替換從父對象繼承的數據 -->
		<property name="name" value="小明" />
		<property name="degree" value="學士" />
	</bean>

</beans>

測試文件java: spring



package com.pas.test;

import java.util.Map.Entry;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.pas.collection.Department;
import com.pas.collection.Employee;
import com.pas.inherit.Graduate;

public class Test {
	public static void main(String[] args) {
		ApplicationContext ac = new ClassPathXmlApplicationContext(
				"applicationContext.xml");
		Department de=(Department) ac.getBean("dept");
		out("######數組######");
		for (String string : de.getEmpname()) {
			System.out.println(string);
		}
		out("######List######");
		for (Employee e : de.getEmps()) {
			System.out.println(e.getName());
		}
		out("######Set######");
		for (Employee e : de.getEmpsSet()) {
			System.out.println(e.getName());
		}
		out("######Map######");
		for (Entry<String, Employee> key : de.getEmpMaps().entrySet()) {
			System.out.println(key.getKey()+" "+((Employee)key.getValue()).getName());
		}
		out("######繼承測試######");
		Graduate g=(Graduate) ac.getBean("graduate");
		out(g.getName()+g.getAge()+g.getDegree());
	}

	public static void out(Object s) {
		System.out.println(s);
	}
}
相關文章
相關標籤/搜索