util:list map set
package cn.zno.testutil; import java.util.List; import java.util.Map; import java.util.Set; import org.springframework.stereotype.Component; public class Foo { private List<String> list; private Map<String,String> map; private Set<String> set; public List<String> getList() { return list; } public void setList(List<String> list) { this.list = list; } public Map<String, String> getMap() { return map; } public void setMap(Map<String, String> map) { this.map = map; } public Set<String> getSet() { return set; } public void setSet(Set<String> set) { this.set = set; } }
<bean id="foo1" class="cn.zno.testutil.Foo"> <property name="map"> <map> <entry key="a" value="1"></entry> <entry key="b" value="2"></entry> </map> </property> <property name="list"> <list > <value>c</value> <value>d</value> </list> </property> <property name="set"> <set > <value>e</value> <value>f</value> </set> </property> </bean> <bean id="foo2" class="cn.zno.testutil.Foo" > <property name="map" ref="mmm"></property> <property name="list" ref="lll"></property> <property name="set" ref="sss"></property> </bean> <util:map id="mmm"> <entry key="A" value="1"></entry> <entry key="B" value="2"></entry> </util:map> <util:list id="lll"> <value>C</value> <value>D</value> </util:list> <util:set id="sss"> <value>E</value> <value>F</value> </util:set>
@Autowired @Qualifier("foo1") private Foo foo1; @Autowired @Qualifier("foo2") private Foo foo2; @Test public void ff() { System.out.println(foo1.getList()); System.out.println(foo1.getMap()); System.out.println(foo1.getSet()); System.out.println(foo2.getList()); System.out.println(foo2.getMap()); System.out.println(foo2.getSet()); }
{a=1, b=2} [c, d] [e, f] {A=1, B=2} [C, D] [E, F]
util: 的优势
1. 非 util 的方式指定的list 是 java.util.List ,map 是 java.util.Map ,set 是 java.util.Set
2. util 的方式可以指定其具体的实现类,比如 java.util.LinkedList
3. util 的方式可以复用
共同点:
1. key 和 value 都可以指定具体类型(全限定名)