spring util list

spring 3.0 after

<util:list/>元素

借助<list/>元素,开发者能够定义java.util.List集合。下面摘录了list.xml中的配置信息。

  1. <bean id="abstractCollectionBean" abstract="true">  
  2.     <property name="list">  
  3.         <list>  
  4.             <value>list1</value>  
  5.             <value>list2</value>  
  6.         </list>  
  7.     </property>  
  8. </bean>  
  9.  
  10. <bean id="collectionBean" class="test.CollectionBean"   
  11.         parent="abstractCollectionBean">  
  12.     <property name="list">  
  13.         <list merge="true" value-type="java.lang.String">  
  14.             <value>list1</value>  
  15.             <idref local="collectionBean"/>  
  16.             <null></null>  
  17.         </list>  
  18.     </property>  
  19. </bean> 

其中,value-type属性指定存入list的默认Java类型。

不幸的是,在某种程度上,<list/>元素只是一种内部Bean,同一<list/>元素不能够起到复用的作用。相比之下,借用ListFactoryBean对象,开发者能够构建出可供复用的List对象。下面展示了配置示例。此时,targetListClass属性用于指定List的具体类型,而sourceList属性用于指定List中的具体内容。

  1. <bean id="list" class="org.springframework.beans.
    factory.config.ListFactoryBean"
     >  
  2.     <property name="targetListClass" value="java.util.ArrayList"/>  
  3.     <property name="sourceList">  
  4.         <list>  
  5.             <value>first</value>  
  6.             <value>second</value>  
  7.             <value>three</value>  
  8.             <value>four</value>  
  9.         </list>  
  10.     </property>  
  11. </bean> 

为简化ListFactoryBean的使用,开发者可以启用<util:list/>元素,示例配置如下。

  1. <util:list id="listUtil" list-class="java.util.ArrayList">  
  2.     <value>first</value>  
  3.     <value>second</value>  
  4.     <value>three</value>  
  5.     <value>four</value>  
  6. </util:list> 

posted on 2017-03-24 09:14  signheart  阅读(2095)  评论(0编辑  收藏  举报

导航