zoukankan      html  css  js  c++  java
  • 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" />
    

      

  • 相关阅读:
    sed command
    【Python3】作用域(局部变量、全局变量)
    【Python3】函数与参数
    【Python3】编程范式
    【Python3】字符解码与编码
    【Python3】文件操作
    【Python3】集合
    【Python3】目录
    【Python3】字典
    【Python3】字符串操作
  • 原文地址:https://www.cnblogs.com/xiaoai123/p/6693836.html
Copyright © 2011-2022 走看看