• spring.net的简单使用(四)对象属性注入


    创建了对象,如果是简单对象就到此为止,如果是复杂对象,则需要为它的属性赋值。

    属性赋值有两种方法:属性注入和构造器注入。

    一、属性注入

    在object节点下使用property就是属性注入,如下:

       <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属性来设置,比如:

     声明student类实例
    <object name="stu" type="LINQDemo.student,LINQDemo"/> 
    
    调用
    <object name="person" type="LINQDemo.person,LINQDemo">
            <property name="name" ref=”stu“></property>
           </object>
    

      也可以这样:

    <property name="stu">
    <object name="per" type="LINQDemo.person,LINQDemo"></object>
    </property>

    二、构造函数注入

    构造器注入使用constructor-arg标签作为标识,它是属性包括name、ref。value。

    <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.根据参数类型匹配

    <constructor type="int" value="1234">
    <constructor type="string"  value="小人">
    

      

    2.根据参数索引匹配

    <constructor index="0" value="123" />
    <constructor index="1" value="小人" />
    

      

    3.根据参数名称匹配

    <constructor name="id" value="123" />
    <constructor name="name" value="xiaoren" />
    

      

  • 相关阅读:
    51nod 1004 n^n的末位数字
    51nod 1003 阶乘后面0的数量
    unity3d-多媒体与网络
    unity3d-代码控制游戏角色控制器移动
    unity3d-角色控制器续
    unity3d-物理引擎
    unity3d-碰撞检测
    unity3d-射线(Ray)
    unity3d-小案例之角色简单漫游
    unity3d-绘制贴图
  • 原文地址:https://www.cnblogs.com/xiaoai123/p/6693836.html
Copyright © 2020-2023  润新知