Dashboard > OpenSource Project > ... > Spring > 入門 10 - 集合物件注入
OpenSource Project Log In   View a printable version of the current page.
入門 10 - 集合物件注入
Added by minqing, last edited by minqing on Nov 11, 2004  (view change)
Labels: 
(None)

Reference by caterpillar ,caterpillar

對於像陣列、java.util.List、java.util.Set、java.util.Map等集合物件,在注入前必須填充入一些物件至集合中,然後再將集合物件注入至所需的Bean中,例如若有個Bean如下:

SomeBean.java
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> 
....

Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.1.5a Build:#411 Mar 16, 2006) - Bug/feature request - Contact Administrators