集合数组属性的装配
第一步:建立java项目,导入如下jar包
commons-logging-1.1.3.jar
spring-beans-4.2.4.RELEASE.jar
spring-context-4.2.4.RELEASE.jar
spring-context-support-4.2.4.RELEASE.jar
spring-core-4.2.4.RELEASE.jar
spring-expression-4.2.4.RELEASE.jar
第二步:在src下创建com.entity包里面建立两个类Teacher和User
package com.entity;
public class Teacher {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Teacher() {
}
public Teacher(int id, String name) {
super();
this.id = id;
this.name = name;
}
}
package com.entity;
import java.util.List;
import java.util.Map;
public class User {
private String name;
private List<String> adress;
private String [] ss;
private Map<String,Teacher> teachers;
public Map<String, Teacher> getTeachers() {
return teachers;
}
public void setTeachers(Map<String, Teacher> teachers) {
this.teachers = teachers;
}
public String[] getSs() {
return ss;
}
public void setSs(String[] ss) {
this.ss = ss;
}
public List<String> getAdress() {
return adress;
}
public void setAdress(List<String> adress) {
this.adress = adress;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void abc(){
System.out.println("abc方法");
}
public User() {
System.out.println("构造函数-user");
}
public void show(){
System.out.println("init-销毁方法-show");
}
public User(String name, List<String> adress, String[] ss) {
this.name = name;
this.adress = adress;
this.ss = ss;
}
}
第三步:在src下建立bean.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-4.2.xsd"
default-lazy-init="true"
>
<!-- default-lazy-init="true"需要时在实例化 -->
<bean id="user" class="com.entity.User" init-method="abc" destroy-method="show" scope="singleton">
<property name="name" value="张三丰" ></property>
<property name="adress">
<list>
<value>北京</value>
<value>上海</value>
<value>天津</value>
<value>郑州</value>
</list>
</property>
<property name="ss">
<array>
<value>张三</value>
<value>李四</value>
<value>王五</value>
<value>赵六</value>
</array>
</property>
<property name="teachers">
<map>
<entry key="tt1" value-ref="t1"></entry>
<entry key="tt2" value-ref="t2"></entry>
<entry key="tt3" value-ref="t3"></entry>
</map>
</property>
</bean>
<import resource="user.xml" />
</beans>
下面是引入
<?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-4.2.xsd">
<bean name="t1" class="com.entity.Teacher">
<constructor-arg name="id" value="1"></constructor-arg>
<constructor-arg name="name" value="李老师"></constructor-arg>
</bean>
<bean name="t2" class="com.entity.Teacher">
<constructor-arg name="id" value="2"></constructor-arg>
<constructor-arg name="name" value="刘老师"></constructor-arg>
</bean>
<bean name="t3" class="com.entity.Teacher">
<constructor-arg name="id" value="3"></constructor-arg>
<constructor-arg name="name" value="张老师"></constructor-arg>
</bean>
</beans>
test包下建立测试类Test
package com.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.entity.Teacher;
import com.entity.User;
public class Test {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
User u = (User) ctx.getBean("user");
/*System.out.println(u.getName());
for (String s : u.getAdress()) {
System.out.println(s);
}
for (String ss : u.getSs()) {
System.out.println(ss);
}*/
for(Teacher t:u.getTeachers().values()){
System.out.println(t.getName());
}
ClassPathXmlApplicationContext c=(ClassPathXmlApplicationContext) ctx;
System.out.println("exit");
}
}
第四步:ctr+f11运行即可