什么是 Spring 的内部 Bean?
只有将 bean 用作另一个 bean 的属性时,才能将 bean 声明为内部 bean。为了定义 bean, Spring 的基于 XML 的配置元数据在 <property>
或 <constructor-arg>
中提供了 <bean>
元素的使用。 内部 bean 总是匿名的,它们总是作为原型。
例如,假设我们有一个 Student 类,其中引用了 Person 类。 这里我们将只创建一个 Person 类实例并在 Student 中使用它。
Student.java
java
public class Student {
private Person person;
//Setters and Getters
}
1
2
3
4
2
3
4
Person.java
java
public class Person {
private String name;
private String address;
//Setters and Getters
}
1
2
3
4
5
2
3
4
5
bean.xml
xml
<bean id=“StudentBean" class="com.lupf.Student">
<property name="person">
<!--This is inner bean -->
<bean class="com.lupf.Person">
<property name="name" value=“Scott"></property> <property name="address" value="Bangalore"></property>
</bean>
</property>
</bean>
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8