集合属性的装配
集合类型的装配
集合属性都要有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>