举例说明:
有一个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效果图如下