spring.net的简单使用(四)对象属性注入
创建了对象,如果是简单对象就到此为止,如果是复杂对象,则需要为它的属性赋值。
属性赋值有两种方法:属性注入和构造器注入。
一、属性注入
在object节点下使用property就是属性注入,如下:
|
1
2
3
4
5
|
<object name="person" type="LINQDemo.person,LINQDemo"> <property name="name" value="ren"></property> <property name="id" value="2"></property> </object> |
property节点就是为person类的属性注入值。
简单的值类型可以直接通过value赋值,上述就分别赋值了int和string类型的数据。
内联类型则需要同过ref属性来设置,比如:
|
1
2
3
4
5
6
7
|
声明student类实例<object name="stu" type="LINQDemo.student,LINQDemo"/>调用<object name="person" type="LINQDemo.person,LINQDemo"> <property name="name" ref=”stu“></property> </object> |
也可以这样:
|
1
2
3
|
<property name="stu"><object name="per" type="LINQDemo.person,LINQDemo"></object></property> |
二、构造函数注入
构造器注入使用constructor-arg标签作为标识,它是属性包括name、ref。value。
|
1
2
3
4
5
6
|
<object name="stu" type="LINQDemo.student,LINQDemo"> </object><object name="person" type="LINQDemo.person,LINQDemo"> <constructor-arg name="id" value="1"/> <constructor-arg name="stu" ref="stu"> </object> |
构造函数参数解析:
1.根据参数类型匹配
|
1
2
|
<constructor type="int" value="1234"><constructor type="string" value="小人"> |
2.根据参数索引匹配
|
1
2
|
<constructor index="0" value="123" /><constructor index="1" value="小人" /> |
3.根据参数名称匹配
|
1
2
|
<constructor name="id" value="123" /><constructor name="name" value="xiaoren" /> |
浙公网安备 33010602011771号