• 初生牛犊之spring(三)


    用ref属性指定依赖

        1.用local属性指定

    如:<property name="date">

                <ref local="date"/>  <!--local的属性值必须与被参考引用的Bean的id属性一致 -->

          </property>

          <bean id="date" class="java.util.Date"/>

       2.用Bean属性指定

    : <property name="date">

                <ref bean="date"/>  <!--bean的属性值必须与被参考引用的Bean的id属性一致 ,但允许指向的Bean可以在一个Xml中,也可以不在同一个Xml中-->

          </property>

          <bean id="date" class="java.util.Date"/>

        3.用parent属性指定(略)

    Bean自动装配的5种模式

        使用Bean元素的autowire属性来指定Bean定义的自动装配,共有5种模式:byName、byType、constructor、autodetect和no

    no:意思是不支持自动装配,必须用户<property name="beanA" ref="bean_a"/>明确指定依赖。

    byName:通过设置Bean标签的属性autowire="byName",意思是根据名字进行自动 装配,只能用于setter注入。比如我们有方法setBeanA(MyBeanA myBeanA),Spring容器将查找配置文件里标志为beanA的Bean并注入,如果找不到,将什么也不注入。

    Xml代码  收藏代码
    1. <bean id="beanA" class="com.chou.bean.MyBeanA"/>  
    2. <bean id="bean_b" class="com.chou.bean.MyBeanB" autowire="byName"/>  


    配置里没有了<property>了,如果一个bean有很多setter注入,通过“byName”方式能减少很多<property>配置。需要注意的是,在根据名字注入时,将把当前Bean自己排除在外:比如“hello”Bean类定义了“setHello”方法,则hello是不能注入到“setHello”的。

    byType:通过设置Bean定义属性autowire="byType",意思是指根据类型注入,用 于setter注入,比如如果指定自动装配方式为“byType”,而setBeanA(MyBeanA myBeanA)方法需要注入MyBeanA类型数据,则Spring容器将查找MyBeanA类型的Bean,(将把当前Bean自己排除在外)如果找到一个则注入该Bean,如果找不到将什么也不注入。

    Xml代码  收藏代码
    1. <bean id="beana" class="com.chou.bean.MyBeanA" autowire-candidate="false"/>  
    2. <bean id="beanA" class="com.chou.bean.MyBeanA" primary="true"/>  
    3. <bean id="bean_b" class="com.chou.bean.MyBeanB" autowire="byType"/>  


    根据类型找到多个 Bean时,对于集合类型(如List、Set)将注入所有匹配的候选者,而对于其他类型遇到这种情况可能需要使用“autowire- candidate”属性为false来把指定Bean从自动装配候选者中移除,或使用“primary”属性为true来指定某个Bean为首选 Bean

    constructor:通过设置Bean定义属性autowire="constructor",功能和“byType”功能一样,根据类型注入构造器参数,只是用于构造器注入方式。

    autodetect:自动检测是使用“constructor”还是“byType”自动装配方式,已不推荐使用。如果Bean有空构造器那么将采用“byType”自动装配方式,否则使用“constructor”自动装配方式。此处要把3.0的xsd替换为2.5的xsd,否则会报错。

     

    Bean依赖检查的4种模式

         依赖检查能够分别对每一个Bean应用或取消应用。使用Bean元素的dependency-check属性来指定Bean定义的依赖检查共有4种模式:simple、object、all、none。

         1.使用simple模式:指的是对基本类型、字符串和集合进行依赖检查。

    如:<bean id="beanA" class="com.chou.bean.MyBeanA" dependency-check="simple"/> 

         2.使用object模式:对依赖的对象进行依赖检查。

         3.使用all模式:对全部属性进行检查。

         4.使用none模式:不进行依赖检查

     一般情况下,依赖检查和自动装配结合使用

  • 相关阅读:
    IP寻址方式三
    IP通信基础4
    IP通信基础3
    IP通信基础2
    IP通信基础 1
    IP通信基础
    IP通信原理第二周
    设备选型
    常用virsh命令记录
    [转]enable spice html5 console access in openstack kilo(centos)
  • 原文地址:https://www.cnblogs.com/yaoxing92/p/2996196.html
Copyright © 2020-2023  润新知