什么是级联赋值?
百度百科:级联(cascade)在计算机科学里指多个对象之间的映射关系。
级联赋值在使用上,是在一个bean对象中注入另一个bean对象(外部bean)的属性并对该属性进行赋值。
1、方式一:
先在外部bean中注入属性后,再引用
<!--级联赋值方法一-->
<bean id="emp" class="com.hmkj.spring5.bean.Emp">
<!--设置两个普通属性-->
<property name="ename" value="lucy"></property>
<property name="gender" value="女"></property>
<!--级联赋值
在外部bean中,添加属性
-->
<property name="dept" ref="dept"></property>
</bean>
<bean id="dept" class="com.hmkj.spring5.bean.Dept">
<property name="dname" value="财务部"></property>
</bean>
2、方式二:
表达式形式,直接引用外部bean的属性
<!--级联赋值方法二-->
<bean id="emp" class="com.hmkj.spring5.bean.Emp">
<!--设置两个普通属性-->
<property name="ename" value="lucy"></property>
<property name="gender" value="女"></property>
<!--级联赋值
表达式形式
-->
<property name="dept" ref="dept"></property>
<property name="dept.dname" value="技术部"></property>
</bean>
<bean id="dept" class="com.hmkj.spring5.bean.Dept"></bean>
有一个注意点,该方式必须在emp实体类中生成dept属性的get方法,否则会报dept属性找不到
private Dept dept;
//生成dept的get方法,必不可少
public Dept getDept(){
return dept;
}