5.List,Map集合注入屬性

實(shí)體類Person:

public class Person {
    private String name;
    private List<Pet> pets;
    private Map<String,Pet>petsMap;
    //Properties類繼承自Hashtable類并且實(shí)現(xiàn)了Map接口,也是使用一種鍵值對(duì)的形式來(lái)保存屬性集。不過(guò)Properties有特殊的地方,就是它的鍵和值都是字符串類型。
    private Properties pros;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public List<Pet> getPets() {
        return pets;
    }
    public void setPets(List<Pet> pets) {
        this.pets = pets;
    }
    public Map<String, Pet> getPetsMap() {
        return petsMap;
    }
    public void setPetsMap(Map<String, Pet> petsMap) {
        this.petsMap = petsMap;
    }
    public Properties getPros() {
        return pros;
    }
    public void setPros(Properties pros) {
        this.pros = pros;
    }
    @Override
    public String toString() {
        return "Person [name=" + name + ", pets=" + pets + ", petsMap=" + petsMap + ", pros=" + pros + "]";
    }
}

注入list:

<bean id="p1" class="com.igeek.lesson5.Person">
        <property name="name" value="小田田"></property>
        <property name="pets">
            <list>
             <ref bean="yw"/>
            <ref bean="ms"/>
           <!--注入空值-->
            <null/>
            <bean class="com.igeek.lesson4.Pet">
                <property name="petName" value="白額吊睛大蟲"></property>
                <property name="age" value="40"></property>
            </bean> 
            </list>
        </property>
    </bean>

<bean id="yw" class="com.igeek.lesson4.Pet">
        <property name="petName" value="鸚鵡"></property>
        <property name="age" value="20"></property>
    </bean>
    
    <bean id="ms" class="com.igeek.lesson4.Pet">
        <property name="petName" value="蟒蛇"></property>
        <property name="age" value="30"></property>
    </bean>

若覺(jué)得代碼量較多,也可以將list中的內(nèi)容包起來(lái)

<bean id="p1" class="com.igeek.lesson5.Person">
        <property name="name" value="田瑞瑞"></property>
        <property name="pets">
                    <ref bean="pets"></ref> 
        </property>
    </bean>

<util:list id="pets">
        <ref bean="yw"/>
        <ref bean="ms"/>
</util:list>

給MAP集合注入屬性(兩種形式):

<!--第一種-->
<bean id="p2" class="com.igeek.lesson5.Person">
        <property name="name" value="李小花"></property>
        <property name="petsMap">
            <map>
                <entry key="haha" value-ref="yw"></entry>
                <entry key="hehe" value-ref="ms"></entry>
            </map>
        </property>
</bean>

<!--第二種-->
<bean id="p2" class="com.igeek.lesson5.Person">
        <property name="name" value="李小花"></property>
        <property name="petsMap">
            <map>
                <entry key="haha" value-ref="yw"></entry>
                <entry key="hehe" value-ref="ms"></entry>
                
            </map>
        </property>
</bean>  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容