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); } }