集合属性的装配



集合类型的装配

集合属性都要有set/get方法

1、properties

properties不仅是资源文件,其实底层也是一种集合(与map类似但不同)

//对象类

        private Properties properties=new Properties();

        public Properties getProperties() {

return properties;

        }

        public void setProperties(Properties properties) {

this.properties = properties;

        }

//配置文件

        <bean id="collection" class="springDemo4.CollectionService">
            <property name="properties">
                <props>
                    <prop key="aa">hello<!--此处写的是集合的value--></prop>
                    <prop key="bb">world</prop>
                </props>
            </property>
        </bean>

//测试类的取值

        ApplicationContext context=new ClassPathXmlApplicationContext("springDemo4/bean4.xml");

CollectionService collectionService=context.getBean(“collection”,CollectionService.class);

Properties properties=collectionService.getProperties();

for (Object key:properties.keySet()){

String k=(String) key;

String value=(String) properties.get(key);

System.out.println(k+":"+value);

        }

2、set

与list相同

        <property name="set">
            <set>
                <value>aaa</value>
                <value>bbb</value>
                <value>ccc</value>
                <value>ddd</value>
            </set>
        </property>

Set set= collectionService.getSet();

for (Object object:set){

System.out.println( object);

        }

3、list

list有顺序所以直接写

        <property name="list">
            <list>
                <value>1</value>
                <value>2</value>
                <value>3</value>
                <value>4</value>
            </list>
        </property>

ArrayList List= (ArrayList) collectionService.getList();

for (Object object:List){

System.out.println((String) object);

        }

4、map

map没有顺序所以要有键和值

        <property name="map">
            <map>
                <entry key="qq" value="56"></entry>
                <entry key="aa" value="78"></entry>
                <entry key="dd" value="89"></entry>
            </map>
        </property>