本文主要说明List,Set,Map,Properties集合以及数组的注入操作,其中的元素使用简单类型。
1.需要使用java类
package com.qwy.bean;
import java.util.*;
/**
* @author qwy
* @create 2021-04-22 14:14
**/
public class Users {
private int id;
private String username;
//list集合
private List<String> listAddress;
//set集合
private Set<String> setAddress;
//数组
private String[] arrayAddress;
//map集合
private Map<String, String> mapAddress;
//properties集合
private Properties popAddress;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public List<String> getListAddress() {
return listAddress;
}
public void setListAddress(List<String> listAddress) {
this.listAddress = listAddress;
}
public Set<String> getSetAddress() {
return setAddress;
}
public void setSetAddress(Set<String> setAddress) {
this.setAddress = setAddress;
}
public String[] getArrayAddress() {
return arrayAddress;
}
public void setArrayAddress(String[] arrayAddress) {
this.arrayAddress = arrayAddress;
}
public Map<String, String> getMapAddress() {
return mapAddress;
}
public void setMapAddress(Map<String, String> mapAddress) {
this.mapAddress = mapAddress;
}
public Properties getPopAddress() {
return popAddress;
}
public void setPopAddress(Properties popAddress) {
this.popAddress = popAddress;
}
@Override
public String toString() {
return "Users{" +
"id=" + id +
", username='" + username + '\'' +
", \nlistAddress=" + listAddress +
", \nsetAddress=" + setAddress +
", \narrayAddress=" + Arrays.toString(arrayAddress) +
", \nmapAddress=" + mapAddress +
", \npopAddress=" + popAddress +
'}';
}
}
2.spring的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<bean id="users1" class="com.qwy.bean.Users">
<property name="id" value="1111"/>
<property name="username" value="admin"/>
<!--注入List集合-->
<property name="listAddress">
<list>
<value>北京</value>
<value>上海</value>
<value>南京</value>
<value>武汉</value>
</list>
</property>
<!--注入数组-->
<property name="arrayAddress">
<array>
<value>数组-北京</value>
<value>数组-上海</value>
<value>数组-南京</value>
<value>数组-武汉</value>
</array>
</property>
<!--注入map集合-->
<property name="mapAddress">
<map>
<entry key="bj" value="map-北京"></entry>
<entry key="sh" value="map-上海"></entry>
<entry key="nj" value="map-南京"></entry>
<entry key="wh" value="map-武汉"></entry>
</map>
</property>
<!--注入set集合-->
<property name="setAddress">
<set>
<value>set-北京</value>
<value>set-上海</value>
<value>set-南京</value>
<value>set-武汉</value>
</set>
</property>
<!--注入properties集合-->
<property name="popAddress">
<props>
<prop key="bj">prop-北京</prop>
<prop key="nj">prop-南京</prop>
<prop key="sh">prop-上海</prop>
<prop key="wh">prop-武汉</prop>
</props>
</property>
</bean>
<!--引用外部集合-->
<bean id="users2" class="com.qwy.bean.Users">
<property name="id" value="1111"/>
<property name="username" value="admin"/>
<!--引用外部集合类型-->
<property name="listAddress" ref="listAddress"/>
<property name="popAddress" ref="propAddress"/>
<property name="setAddress" ref="setAddress"/>
<property name="mapAddress" ref="mapAddress"/>
<!--数组类型可以引用list集合-->
<property name="arrayAddress" ref="listAddress"/>
</bean>
<!--声明集合类型的bean,需要导入uitl命名空间-->
<util:list id="listAddress">
<value>list-济南</value>
<value>list-青岛</value>
<value>list-烟台</value>
</util:list>
<util:set id="setAddress">
<value>set-济南</value>
<value>set-青岛</value>
<value>set-烟台</value>
</util:set>
<util:map id="mapAddress">
<entry key="jn" value="map-济南"></entry>
<entry key="qd" value="map-青岛"></entry>
<entry key="yt" value="map-烟台"></entry>
</util:map>
<util:properties id="propAddress">
<prop key="jn">prop-济南</prop>
<prop key="qd">prop-青岛</prop>
<prop key="yt">prop-烟台</prop>
</util:properties>
</beans>
使用外部的集合类时,需要导入util命名空间
3. 测试类
package com.qwy.test;
import com.qwy.bean.Users;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @author qwy
* @create 2021-04-22 14:20
**/
public class TestCollection {
private ApplicationContext ac= new ClassPathXmlApplicationContext("applicationContext.xml");
@Test
public void test1(){
Users users1 = ac.getBean("users1", Users.class);
//users1 = Users{id=1111, username='admin',
//listAddress=[北京, 上海, 南京, 武汉],
//setAddress=[set-北京, set-上海, set-南京, set-武汉],
//arrayAddress=[数组-北京, 数组-上海, 数组-南京, 数组-武汉],
//mapAddress={bj=map-北京, sh=map-上海, nj=map-南京, wh=map-武汉},
//popAddress={bj=prop-北京, wh=prop-武汉, nj=prop-南京, sh=prop-上海}}
System.out.println("users1 = " + users1);
}
@Test
public void test2(){
Users users2= ac.getBean("users2", Users.class);
//users2 = Users{id=1111, username='admin',
//listAddress=[list-济南, list-青岛, list-烟台],
//setAddress=[set-济南, set-青岛, set-烟台],
//arrayAddress=[list-济南, list-青岛, list-烟台],
//mapAddress={jn=map-济南, qd=map-青岛, yt=map-烟台},
//popAddress={jn=prop-济南, qd=prop-青岛, yt=prop-烟台}}
System.out.println("users2 = " + users2);
}
}