Spring-IoC-DI-基于xml的依赖注入-使用set方法进行注入(案例十:注入对象属性:级联赋值)
案例十:注入对象属性:级联赋值
级联属性:属性的属性(属性.属性)
(1)创建两个类部门类和员工类
public class Department {
private Integer id;
private String deptName;
public Department() {
}
public Department(Integer id, String deptName) {
this.id = id;
this.deptName = deptName;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
@Override
public String toString() {
return "Department{" +
"id=" + id +
", deptName='" + deptName + '\'' +
'}';
}
}
public class Employee {
private String name;
private String gender;
private Department dept;
public Employee() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Department getDept() {
return dept;
}
public void setDept(Department dept) {
this.dept = dept;
}
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", gender='" + gender + '\'' +
", dept=" + dept +
'}';
}
}
(2)在spring配置文件中先配置对象创建,再配置属性注入
<bean id="employee" class="com.orz.spring.bean.Employee"> <property name="name" value="李华"/> <property name="gender" value="男"/> <property name="dept" ref="department"/> <property name="dept.id" value="1"/> <property name="dept.deptName" value="技术部"/> </bean> <bean id="department" class="com.orz.spring.bean.Department"/>
(3)测试
@Test public void test2() { ApplicationContext applicationContext=new ClassPathXmlApplicationContext("bean.xml"); Employee employee = applicationContext.getBean("employee2", Employee.class); System.out.println(employee); }
(4)结果
Employee{name='李华', gender='男', dept=Department{id=1, deptName='技术部'}}