首页 > 其他分享 >Spring set注入-级联属性赋值

Spring set注入-级联属性赋值

时间:2022-11-12 21:35:40浏览次数:44  
标签:set name Spring Clazz 级联 Student clazz public String

举例说明:

有一个Student类,一个Clazz类。

Student

 public class Student {
    private String name;

    //  学生属于哪个班级
    private Clazz clazz;

    //  使用级联属性赋值,这里需要这个get方法。
    public Clazz getClazz() {
        return clazz;
    }

    public void setClazz(Clazz clazz) {
        this.clazz = clazz;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", clazz=" + clazz +
                '}';
    }

    public void setName(String name) {
        this.name = name;
    }
}

Clazz

  public class Clazz {
    private String name;

    @Override
    public String toString() {
        return "Clazz{" +
                "name='" + name + '\'' +
                '}';
    }

    public void setName(String name) {
        this.name = name;
    }
}

Spring配置文件

  <?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.xsd">


    <!--使用级联属性赋值需要注意两点:
            1、配置的顺序不能颠倒,必须如下顺序;
            2、clazz的属性必须提供getter方法。
    -->
    <bean id="studentBean" class="per.sxhzs.spring6.bean.Student">
        <!--简答类型使用value-->
        <property name="name" value="sxh"/>
        <!--不是简单类型,使用ref-->
        <property name="clazz" ref="clazzBean"/>
        <!--级联属性赋值-->
        <property name="clazz.name" value="高三22班"/>
    </bean>

    <bean id="clazzBean" class="per.sxhzs.spring6.bean.Clazz"/>
</beans>

测试类

@Test
    public void testCascade() {

        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("cascade.xml");
        Student studentBean = applicationContext.getBean("studentBean", Student.class);
        Clazz clazzBean = applicationContext.getBean("clazzBean", Clazz.class);
        System.out.println(studentBean);
        System.out.println(clazzBean);
    }

效果图如下

标签:set,name,Spring,Clazz,级联,Student,clazz,public,String
From: https://www.cnblogs.com/sxhxh/p/16884707.html

相关文章