案例三:bean之间的依赖(只是改变创建顺序)
原来的创建顺序是按配置文件位置先后顺序创建的
(1)创建两个类
public class Employee {
private String name;
private Integer age;
private Department dept;
public Employee() {
System.out.println("EMP被创建了");
}
public void setName(String name) {
this.name = name;
}
public void setAge(Integer age) {
this.age = age;
}
public Department getDept() {
return dept;
}
public void setDept(Department dept) {
this.dept = dept;
}
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", age=" + age +
", dept=" + dept +
'}';
}
}
public class Department {
private String depaName;
private Integer id;
public Department() {
System.out.println("DEPT被创建了");
}
public void setDepaName(String depaName) {
this.depaName = depaName;
}
public void setId(Integer id) {
this.id = id;
}
@Override
public String toString() {
return "Department{" +
"depaName='" + depaName + '\'' +
", id=" + id +
'}';
}
}
(2)配置文件
<bean id="dept" class="com.orz.spring.bean.Department">
<property name="id" value="1"/>
<property name="depaName" value="安保部"/>
</bean>
<bean id="employee" class="com.orz.spring.bean.Employee">
<property name="name" value="李华"/>
<property name="age" value="21"/>
<property name="dept" ref="dept"/>
</bean>
(3)测试原来的创建顺序
@Test
public void test1()
{
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("bean.xml");
}
(4)结果
(5)修改配置文件,加入depends-on属性
<bean id="dept" class="com.orz.spring.bean.Department" depends-on="employee">
<property name="id" value="1"/>
<property name="depaName" value="安保部"/>
</bean>
<bean id="employee" class="com.orz.spring.bean.Employee">
<property name="name" value="李华"/>
<property name="age" value="21"/>
<property name="dept" ref="dept"/>
</bean>
(6)测试现在的创建顺序
(7)结果