美文网首页
5.List,Map集合注入属性

5.List,Map集合注入属性

作者: 小竹猫 | 来源:发表于2018-12-21 11:44 被阅读0次

实体类Person:

public class Person {
    private String name;
    private List<Pet> pets;
    private Map<String,Pet>petsMap;
    //Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过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>

若觉得代码量较多,也可以将list中的内容包起来

<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>  

相关文章

网友评论

      本文标题:5.List,Map集合注入属性

      本文链接:https://www.haomeiwen.com/subject/falmkqtx.html