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='技术部'}}

 

posted @ 2020-10-18 17:53  orz江小鱼  阅读(101)  评论(0编辑  收藏  举报