Spring5 -- 学习笔记 - 3.IoC容器-操作Bean管理(xml自动装配)

Spring5 – 学习笔记 - 3.IoC容器

   1、xml方式注入的自动装配

     创建员工类。

/*
    员工类
 */
public class Employee {
    private Department department;

    public void setDepartment(Department department){
        this.department=department;
    }

    @Override
    public String toString() {
        return "Employee{" +
                "department=" + department +
                '}';
    }
}

     创建部门类。

/*
    部门类
 */
public class Department {

    @Override
    public String toString() {
        return "Department{}";
    }
}

     xml文件代码,这里autowire属性的值设置的是,byType,根据属性类型注入。

    <!--xml的方式的自动注入
        使用bean标签的autowire属性,autowire常用的俩个值:
            byName,根据类成员的属性名称注入,类的属性名称需要和bean的id值相同
            byType,根据类成员的属性类型注入,该类型的bean只能有一个,如果是多个就会找不到
    -->
    <bean id="employee1" class="com.tt.bean.Employee" autowire="byType">

    </bean>

    <bean id="department" class="com.tt.bean.Department"></bean>

     测试代码。

    @Test
    public void test1(){
        ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");
        Employee employee =context.getBean("employee1", Employee.class);
        System.out.println(employee);
    }

     测试结果。
Spring5 -- 学习笔记 - 3.IoC容器-操作Bean管理(xml自动装配)
     xml文件代码2,这里将autowire的属性值设置为,byName,根据属性名称注入。

<!--xml的方式的自动注入
        使用bean标签的autowire属性,autowire常用的俩个值:
            byName,根据类成员的属性名称注入,类的属性名称需要和bean的id值相同
            byType,根据类成员的属性类型注入,该类型的bean只能有一个,如果是多个就会找不到
    -->
    <bean id="employee1" class="com.tt.bean.Employee" autowire="byName">

    </bean>

    <bean id="department" class="com.tt.bean.Department"></bean>

     测试结果,发现效果一样。
Spring5 -- 学习笔记 - 3.IoC容器-操作Bean管理(xml自动装配)
     但是自动注入时,需要注意:
       byName,根据类成员的属性名称注入,类的属性名称需要和bean的id值相同;
       byType,根据类成员的属性类型注入,该类型的bean只能有一个,如果是多个就会找不到。

上一篇:Oracle OCP 071【中文】考试题库-第18题


下一篇:数据库