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" />

  

 

posted on 2018-07-05 21:05  boood  阅读(107)  评论(0)    收藏  举报

导航