之前讲了一般的注入属性,注入age,name一类。那么当属性是另一个类的一个对象怎么办呢。
这里我列出了两种方法,分别是内部bean和外部bean。
内部bean:
在使用set方法的前提下。
<bean id="book" class="com.spring5.bean.Book">
<!--设置正常的类型属性-->
<property name="name" value="java"></property>
<property name="author" value="张三"></property>
<!--设置对象类型属性-->
<property name="user">
<bean id="user" class="com.spring5.bean.User">
<property name="name" value="李四"></property>
</bean>
</property>
</bean>
这里很容易理解,也就是把bean当成一个属性来用,放在property里面,所以叫内部bean。
外部bean:
在使用set方法的前提下。
<bean id="book" class="com.spring5.bean.Book">
<!--两个普通属性-->
<property name="name" value="java"></property>
<property name="author" value="李四"></property>
<!--外部bean-->
<!--这里相当于用ref设置了一个外部的链接,链接到外面的bean-->
<property name="user" ref="user"></property>
</bean>
<bean id="user" class="com.spring5.bean.User">
<property name="name" value="李四"></property>
</bean>
注意外部bean的id要和ref保持一致,他们才能关联起来。