集合物件注入

对于像数组、java.util.List、java.util.Set、java.util.Map等集合对象,在注入前必须填充入一些对象至集合中,然后再将集合对象注入至所需的Bean中,例如若有个Bean如下:

   public class SomeBean { 
       private String[] someStrArray; 
       private SomeObj[] someObjArray; 
       private List someList; 
       private Map someMap; 
       .... 
   
   }

对于这个需求,Spring也可以帮您维护,直接来看Bean定义档如何设定:

   ...
   <beans> 
       <bean id="someBean" class="onlyfun.caterpillar.SomeBean"> 
           <property name="someArray"> 
               <list> 
                   <value>Hello!Justin!</value> 
                   <value>Hello!Momor!</value> 
                   <value>Hello!Bush!</value> 
               </list> 
           </property> 
           <property name="someObjArray"> 
               <list> 
                   <ref bean="someObj1"/> 
                   <ref bean="someObj2"/> 
               </list> 
           </property> 
           <property name="someList"> 
               <list> 
                    <value>Hello!Justin!</value> 
                    <ref bean="someObj1"/> 
                    <ref bean="someObj2"/> 
               </list> 
           </property> 
           <property name="someMap"> 
               <map> 
                    <entry key="somekey1"> 
                        <ref bean="someObj1"/> 
                    </entry> 
                    <entry key="somekey2"> 
                        <value>Hello!Justin!</value> 
                    </entry> 
               </map> 
           </property> 
       </bean> 
   </beans>

上面的Bean定义文件是个综合示范,数组与List对象都是用<list>卷标来设定,而Map对象使用<map>卷标设定,并需要一个key值设定。

Set的使用<set>标签,例如:

   <set> 
       <value>a set element</value> 
       <ref bean="otherBean"/> 
       <ref bean="anotherBean"/> 
   </set>

您也可以注入java.util.Properties,Bean定义档的写法示范如下:

   .... 
   <bean id=....> 
       .... 
       <property name="someProperties"> 
           <props> 
               <prop key="someProkey1"> 
                   someProValue1 
               </prop> 
               <prop key="someProkey2"> 
                   someProValue2 
               </prop> 
           </props> 
       </property> 
   </bean>