Java 内部类是在其他类的范围内定义的,类似地,内部 bean是在另一个 bean 的范围内定义的 bean。因此, 或 元素内的 元素称为内部 bean。
Student:
package org.example;
public class Student3 {
private String name;
private String gender;
private School school;
public void setName(String name) {
this.name = name;
}
public void setGender(String gender) {
this.gender = gender;
}
public void setSchool(School school) {
this.school = school;
}
public void add(){
System.out.println("姓名:"+name+",性别:"+gender+",学校"+school);
}
}
School:
package org.example;
public class School {
private String sname;
public void setSname(String sname) {
this.sname = sname;
}
@Override
public String toString() {
return "School{" +
"sname='" + sname + '\'' +
'}';
}
}
bean01.xml:
<?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">
<bean id="student" class="org.example.Student3">
<property name="name" value="health"/>
<property name="gender" value="男"/>
<property name="school">
<bean id="school" class="org.example.School">
<property name="sname" value="哈佛大学"/>
</bean>
</property>
</bean>
</beans>
Main:
ApplicationContext context = new ClassPathXmlApplicationContext("bean01.xml");
Student3 stu = context.getBean("student", Student3.class);
stu.add();
}
}
运行结果: