集合类型注入

/ Spring / 没有评论 / 287浏览

上一篇中我们已经将日常开发中涉及到的所有类型的注入都已经分享完了,就差一种类型的没有说了,也就是集合类的注入。所以在这一篇中我们将分享一下在IOC中集合类是怎么注入。因为集合注入比较简单,所以我们直接看测试用例。

public class User {

private List list;

public List getList() {
return list;
}

public void setList(List list) {
this.list = list;
}

@Override
public String toString() {
return "User{" +
"list=" + list +
'}';
}
}
<bean id="user" class="com.jilinwula.spring.User" p:list-ref="list"/>

<util:list id="list" list-class="java.util.ArrayList">
<value>北京</value>
<value>上海</value>
<value>广州</value>
</util:list>
@Test
public void test() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean.xml");
User user = applicationContext.getBean("user", User.class);
System.out.println(user);
}
User{list=[北京, 上海, 广州]}
public class User {

private Set set;

public Set getSet() {
return set;
}

public void setSet(Set set) {
this.set = set;
}

@Override
public String toString() {
return "User{" +
"set=" + set +
'}';
}
}
<bean id="user" class="com.jilinwula.spring.User" p:set-ref="set"/>

<util:set id="set" set-class="java.util.HashSet">
<value>北京</value>
<value>上海</value>
<value>广州</value>
</util:set>
User{set=[上海, 广州, 北京]}
public class User {

private Map map;

public Map getMap() {
return map;
}

public void setMap(Map map) {
this.map = map;
}

@Override
public String toString() {
return "User{" +
"map=" + map +
'}';
}
}
<bean id="user" class="com.jilinwula.spring.User" p:map-ref="map"/>

<util:map id="map" map-class="java.util.HashMap">
<entry key="BJ" value="北京"/>
<entry key="SH" value="上海"/>
<entry key="GZ" value="广州"/>
</util:map>
User{map={BJ=北京, GZ=广州, SH=上海}}