Spring框架

2.4.3 集合类型的bean

         如果只能将集合对象配置在某个bean内部,则这个集合的配置将不能重用。我们需要   将集合bean的配置拿到外面,供其他bean引用。

         配置集合类型的bean需要引入util名称空间

<util:list id="bookList">

         <ref bean="book01"/>

         <ref bean="book02"/>

         <ref bean="book03"/>

         <ref bean="book04"/>

         <ref bean="book05"/>

</util:list>

 

<util:list id="categoryList">

         <value>编程</value>

         <value>极客</value>

         <value>相声</value>

         <value>评书</value>

</util:list>

 

2.5  FactoryBean

2.5.1 FactoryBean

         Spring中有两种类型的bean,一种是普通bean,另一种是工厂bean,即FactoryBean。

         工厂bean跟普通bean不同,其返回的对象不是指定类的一个实例,其返回的是该工     厂bean的getObject方法所返回的对象。

         工厂bean必须实现org.springframework.beans.factory.FactoryBean接口。

 

<bean id="product" class="com.atguigu.spring.bean.ProductFactory">

         <property name="productName" value="Mp3" />

</bean>

 

2.6 bean的高级配置

2.6.1 配置信息的继承

1. 背景

         查看下面两个Employee的配置,其中dept属性是重复的。

<bean id="dept" class="com.atguigu.parent.bean.Department">

         <property name="deptId" value="100"/>

         <property name="deptName" value="IT"/>

</bean>

 

<bean id="emp01" class="com.atguigu.parent.bean.Employee">

         <property name="empId" value="1001"/>

         <property name="empName" value="Tom"/>

         <property name="age" value="20"/>

 

         <!-- 重复的属性值 -->

         <property name="dept" ref="dept"/>

</bean>

 

<bean id="emp02" class="com.atguigu.parent.bean.Employee">

         <property name="empId" value="1002"/>

         <property name="empName" value="Jerry"/>

         <property name="age" value="25"/>

 

         <!-- 重复的属性值 -->

         <property name="dept" ref="dept"/>

</bean>