• 注入


    1.注入方式

    1.1 setter注入

    <bean id=".." class="..">

    <property name="属性名" [ref=""]>

    <ref bean="要注入的beanid"/>

    </property>

    </bean>

    注意:setter注入是通过属性的set方法注入的,所有

             属性一定要提供getter/setter方法.

    1.2 构造器注入

    <bean id=".." class="..">

    <constructor-arg>

    <value>xx</value>

    </constructor-arg>

    </bean>

    注意:构造器注入是通过bean的构造函数去注入的,所以

            一定要提供有相关的构造函数和无参构造函数.

    注意:a.一个constructor表示一个参数,且不区分顺序.

         b.constructor可以通过index属性,指定参数的位置索引(index0开始).

         c.constructor可以通过type属性避免字符串和基本数据类型的混淆.

    1.3 p命名空间注入

    语法:

    p:属性名="" //基本数据类型和String注入值

    p:属性名-ref="beanid" //引用bean的属性注入值.

    注意:如果要使用p:,需要在配置文件中引入p命名空间.

     xmlns:p="http://www.springframework.org/schema/p"

    注意:p命名空间是bean属性形式的注入方式.其他的是子元素注入方式

    : <bean id=".." class=".." p:age="18"/>                      1.4 setter注入和构造器注入的区别

    1)setter是通过setter方法实现

        构造器注入是通过构造函数实现

    2)setter注入灵活性好.

        构造器注入灵活性较差.  

    3)setter注入时效性差

        构造器注入时效性好

    4)setter注入对象通过无参构造函数创建

       构造器注入对象通过构造方法创建,建议保留无参构造函数.

    2.注入不同类型的值   

    2.1 注入直接量(基本数据类型+字符串)

    <value></value>

     注意:特殊字符&,>,<的实体&,<,>

             或者使用<![CDATA[ 内容 ]]>

    2.2 注入bean

    <ref bean="beanid"/>    

    注意:bean属性可以引用配置文件引入的文件的bean的配置.

        local属性只能引用本配置文件的bean配置.

    2.3 使用内部bean

    <property name="属性名">

    <bean class=".."/>

    </property>          

    注意:当定义的bean只有在这个地方使用时,可以使用内部bean.

    2.4 注入集合类型数据

    1) list

    <property name="">

    <list>

    <value>..</value>

    ...

    </list>

    </property>

    2) set

    <property name="">

    <set>

    <value>..</value>

    ...

    </set>

    </property>

    3) map

    <property name="">

    <map>

    <entry>

    <key><value>xx</value></key>

    <value>yy</value>

    </entry>

    </map>

    </property>

    4)properties

    <props>

    <prop key="x">y</prop>

    ..

    </props>

    2.5 注入null和空串

    注入null

    <null/>

    空串

    <value></value>

  • 相关阅读:
    Appium
    Appium滑动直到页面底部
    使用Maven以及碰到的坑们(持续更新中。。。)
    通过license server激活IntelliJ IDEA
    HDU 1166
    HDU 2444
    HDU 浙江科技学院校赛2016
    HDU 5651
    HDU 5650
    Interview 位运算
  • 原文地址:https://www.cnblogs.com/yang82/p/8059950.html
Copyright © 2020-2023  润新知