例子:部门和员工(一对多的关系)
建立一个部门类Dept
public class Dept {
//部门类
private String dname;
public void setDname(String dname) {
this.dname = dname;
}
@Override
public String toString() {
return "Dept{" +
"dname='" + dname + '\'' +
'}';
}
建立一个员工类:
public class Emp {
//员工类
private String ename;
private String gender;
//员工属于某一个部门,使用对象形式表示
private Dept dept;
public void setDept(Dept dept) {
this.dept = dept;
}
public void setEname(String ename) {
this.ename = ename;
}
public void setGender(String gender) {
this.gender = gender;
}
//测试
public void add(){
System.out.println("姓名:"+ename+"性别:"+gender+"所属部门:"+dept);
}
配置文件:
<!--内部bean-->
<bean id="emp" class="ysy1_spring5.bean.Emp">
<!--先设置两个普通的属性-->
<property name="ename" value="ysy"></property>
<property name="gender" value="女"></property>
<!--设置对象属性-->
<property name="dept">
<bean id="dept" class="ysy1_spring5.bean.Dept">
<property name="dname" value="安保部"></property>
</bean>
</property>
</bean>
或者使用级联赋值:
方法一:
注意:ref和下面的id要对应
<!--内部bean-->
<bean id="emp" class="ysy1_spring5.bean.Emp">
<!--先设置两个普通的属性-->
<property name="ename" value="ysy"></property>
<property name="gender" value="女"></property>
<!--设置对象属性-->
<property name="dept" ref="dept"></property>
</bean>
<bean id="dept" class="ysy1_spring5.bean.Dept">
<property name="dname" value="安保部"></property>
</bean>
方法二:
注意:要生成dept的get方法
<!--内部bean-->
<bean id="emp" class="ysy1_spring5.bean.Emp">
<!--先设置两个普通的属性-->
<property name="ename" value="ysy"></property>
<property name="gender" value="女"></property>
<!--设置对象属性-->
<property name="dept" ref="dept"></property>
<property name="dept.name" value="财务部"></property>
</bean>
<bean id="dept" class="ysy1_spring5.bean.Dept">
<property name="dname" value="安保部"></property>
</bean>
测试类:
@Test
public void testBean3(){
//1.加载spring配置文件
ApplicationContext context =
new ClassPathXmlApplicationContext("bean3.xml");
//2、获取配置创建的对象
Emp emp = context.getBean("emp", Emp.class);
emp.add();
}
输出结果是: