C、集合的装配
public
class
SomeBean
{
private
List
listProperty
;
private
Set
setProperty
;
private
Map
mapProperty
;
private
Properties
property
;
public
List getListProperty() {
return
listProperty
;
}
public
void
setListProperty(List listProperty) {
this
.
listProperty
= listProperty;
}
public
Set getSetProperty() {
return
setProperty
;
}
public
void
setSetProperty(Set setProperty) {
this
.
setProperty
= setProperty;
}
public
Map getMapProperty() {
return
mapProperty
;
}
public
void
setMapProperty(Map mapProperty) {
this
.
mapProperty
= mapProperty;
}
public
Properties getProperty() {
return
property
;
}
public
void
setProperty(Properties property) {
this
.
property
= property;
}
public
void
printInfo(){
System.
out
.println(
"listProperty"
);
System.
out
.println(
listProperty
);
System.
out
.println(
"setProperty"
);
System.
out
.println(
setProperty
);
Set set =
mapProperty
.entrySet();
Iterator it = set.iterator();
while
(it.hasNext()){
Map.Entry entry = (Entry) it.next();
System.
out
.println(
"Key "
+entry.getKey() );
System.
out
.println(
"value "
+entry.getValue());
}
System.
out
.println(
"props: "
);
Set set2 =
property
.entrySet();
Iterator it2 = set2.iterator();
while
(it2.hasNext()){
Map.Entry entry= (Entry) it2.next();
System.
out
.println(
"key "
+entry.getKey());
System.
out
.println(
"value "
+entry.getValue());
}
}
}
applcationContext.xml的写法:
<
bean
id
=
"someBean"
class
=
"ioc3.SomeBean"
>
<
property
name
=
"listProperty"
>
<
list
>
<
value
>
list1
</
value
>
<
value
>
list1
</
value
>
<
value
>
list3
</
value
>
</
list
>
</
property
>
<
property
name
=
"setProperty"
>
<
set
>
<
value
>
set1
</
value
>
<
value
>
set1
</
value
>
<
value
>
set3
</
value
>
</
set
>
</
property
>
<
property
name
=
"mapProperty"
>
<
map
>
<
entry
key
=
"key1"
>
<
value
>
value1
</
value
>
</
entry
>
<
entry
key
=
"key2"
>
<
value
>
value2
</
value
>
</
entry
>
</
map
>
</
property
>
<
property
name
=
"property"
>
<
props
>
<
prop
key
=
"key1"
>
prop1
</
prop
>
<
prop
key
=
"key2"
>
prop2
</
prop
>
<
prop
key
=
"key3"
>
prop3
</
prop
>
</
props
>
</
property
>
</
bean
>
测试类:Test
public
static
void
main(String[] args) {
//
TODO
Auto-generated method stub
ApplicationContext
ac =
new
ClassPathXmlApplicationContext(
"ioc3\\applicationContext.xml"
);
SomeBean sb = (SomeBean) ac.getBean(
"someBean"
);
sb.printInfo();
}
(2)
、基于构造器(在A中注入B类的构造器)
在Bean中不用写set方法,但是要有构造器
例子:
public
class
SomeBean {
//构造器配置
private
String
str1
;
private
String
str2
;
private
int
value1
;
public
SomeBean(String str1, String str2,
int
value1) {
super
();
this
.
str1
= str1;
this
.
str2
= str2;
this
.
value1
= value1;
}
public
void
printInfo(){
System.
out
.println(
"str1 "
+
str1
+
"str2 "
+
str2
+
" value1 "
+
value1
);
}
}
配置文件applicationContext.xml的写法
<
bean
id
=
"someBean"
class
=
"ioc4.SomeBean"
>
<
constructor-arg
>
<
value
>
String1
</
value
>
</
constructor-arg
>
<
constructor-arg
>
<
value
>
String2
</
value
>
</
constructor-arg
>
<
constructor-arg
>
<
value
>
100
</
value
>
</
constructor-arg
>
</bean>