- List – <list/>
- Set – <set/>
- Map – <map/>
- Properties – <props/>
Spring beans
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class Customer
{ private List<Object> lists;
private Set<Object> sets;
private Map<Object, Object> maps;
private Properties pros;
//...
} |
配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
< beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
< bean id="CustomerBean" class="com.mkyong.common.Customer">
<!-- java.util.List -->
< property name="lists">
< list >
< value >1</ value >
< ref bean="PersonBean" />
< bean class="com.mkyong.common.Person">
< property name="name" value="mkyongList" />
< property name="address" value="address" />
< property name="age" value="28" />
</ bean >
</ list >
</ property >
<!-- java.util.Set -->
< property name="sets">
< set >
< value >1</ value >
< ref bean="PersonBean" />
< bean class="com.mkyong.common.Person">
< property name="name" value="mkyongSet" />
< property name="address" value="address" />
< property name="age" value="28" />
</ bean >
</ set >
</ property >
<!-- java.util.Map -->
< property name="maps">
< map >
< entry key="Key 1" value="1" />
< entry key="Key 2" value-ref="PersonBean" />
< entry key="Key 3">
< bean class="com.mkyong.common.Person">
< property name="name" value="mkyongMap" />
< property name="address" value="address" />
< property name="age" value="28" />
</ bean >
</ entry >
</ map >
</ property >
<!-- java.util.Properties -->
< property name="pros">
< props >
< prop key="admin">admin@nospam.com</ prop >
< prop key="support">support@nospam.com</ prop >
</ props >
</ property >
</ bean >
< bean id="PersonBean" class="com.mkyong.common.Person">
< property name="name" value="mkyong1" />
< property name="address" value="address 1" />
< property name="age" value="28" />
</ bean >
</ beans >
|
运行:
1
2
3
4
5
6
7
8
9
10
11
|
public class App
{ public static void main( String[] args )
{
ApplicationContext context = new ClassPathXmlApplicationContext( "SpringBeans.xml" );
Customer cust = (Customer)context.getBean( "CustomerBean" );
System.out.println(cust);
}
} |
我们也可以使用ListFactoryBean。The ‘ListFactoryBean‘ class provides developer a way to create a concrete List collection class (ArrayList and LinkedList) in Spring’s bean configuration file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
< bean id="CustomerBean" class="com.mkyong.common.Customer">
< property name="lists">
< bean class="org.springframework.beans.factory.config.ListFactoryBean">
< property name="targetListClass">
< value >java.util.ArrayList</ value >
</ property >
< property name="sourceList">
< list >
< value >1</ value >
< value >2</ value >
< value >3</ value >
</ list >
</ property >
</ bean >
</ property >
</ bean >
|
或者:加入:xmlns:util="http://www.springframework.org/schema/util"然后就可以:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
< 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-2.5.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-2.5.xsd">
< bean id="CustomerBean" class="com.mkyong.common.Customer">
< property name="lists">
< util:list list-class="java.util.ArrayList">
< value >1</ value >
< value >2</ value >
< value >3</ value >
</ util:list >
</ property >
</ bean >
</ beans >
|
SetFactoryBean The ‘SetFactoryBean‘ class provides developer a way to create a concrete Set collection (HashSet and TreeSet) in Spring’s bean configuration file.
set和上面的一样:
1
2
3
4
5
6
7
8
9
|
< bean id="CustomerBean" class="com.mkyong.common.Customer">
< property name="sets">
< util:set set-class="java.util.HashSet">
< value >1</ value >
< value >2</ value >
< value >3</ value >
</ util:set >
</ property >
</ bean >
|
MapFactoryBean The ‘MapFactoryBean‘ class provides developer a way to create a concrete Map collection class (HashMap and TreeMap) in Spring’s bean configuration file.
map也一样:
1
2
3
4
5
6
7
8
9
|
< bean id="CustomerBean" class="com.mkyong.common.Customer">
< property name="maps">
< util:map map-class="java.util.HashMap">
< entry key="Key1" value="1" />
< entry key="Key2" value="2" />
< entry key="Key3" value="3" />
</ util:map >
</ property >
</ bean >
|
==============================================================================