工厂bean是实现了beanFactory接口的bean,也可以继承AbstractFactoryBean,主要是用于在给定属性参数之后自动创建一个bean对象。
我们在使用基本集合标记定义集合时,不能够指定集合的实体类,例如LinkedList、TreeSet或TreeMap等,而且也不能通过将集合定义为可供其他bean引用的单独bean在不同放入bean中共享集合。
Spring提供了两种选项来提供基本集合标记的不足。
选项之一使用对应的集合工厂bean:ListFactoryBean、SetFactoryBean、MapFactoryBean。
<bean id="set" class="org.springframework.beans.factory.config.SetFactoryBean"> <property name="targetSetClass"> <value>java.util.TreeSet</value> </property> <property name="sourceSet"> <set> <value></value> </set> </property> </bean>
选项二在Spring 2.x之后引入了util schema中使用了集合标记:<util:list>、<util:set>、<util:map>
xmlns:util="http://www.springframework.org/schema/util" xsi:schemalocation="………… http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd" <util:set id="" set-class="java.util.TreeSet"> <value></value> </util:set>