zoukankan      html  css  js  c++  java
  • spring

     1、使用构造子注入时,则使用constructor-arg子标签,来指定构造函数的参数。   

    <bean id="provider" class="com.apress.prospring.ch4.ConfigurableMessageProvider">   

        <constructor-arg>   

            <value>This is a configurable message</value>   

        </constructor-arg>   

    </bean>   

    2、当构造函数有多个参数时,可以使用constructor-arg标签的index属性,index属性的值从0开始。   

    <bean id="provider" class="com.apress.prospring.ch4.ConfigurableMessageProvider">   

        <constructor-arg index="0">   

            <value>first parameter</value>   

        </constructor-arg>   

        <constructor-arg index="1">   

            <value>second parameter</value>   

        </constructor-arg>   

    </bean>   

    3、 在使用构造子注入时,需要注意的问题是要避免构造子冲突的情况发生。考虑下面的情况:   

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class ConstructorConfusion {  
     
    public ConstructorConfusion(String someValue) {  
     
            System.out.println("ConstructorConfusion(String) called");  
     
        }  
     
    public ConstructorConfusion(int someValue) {  
     
            System.out.println("ConstructorConfusion(int) called");  
     
        }  
     
    }  

     使用如下配置文件   

    <bean id="constructorConfusion" class="com.apress.prospring.ch4.ConstructorConfusion">   

        <constructor-arg>   

            <value>90</value>   

        </constructor-arg>   

    </bean>   

      那 么,当实例化组件constructorConfusion时,将输出ConstructorConfusion(String) called,也就是 说参数类型为String的构造函数被调用了,这显然不符合我们的要求。为了让Spring调用参数为int的构造函数来实例化组件 constructorConfusion,我们需要在配置文件中明确的告诉Spring,需要使用哪个构造函数,这需要使用constructor- arg的type属性。   

    <bean id="constructorConfusion" class="com.apress.prospring.ch4.ConstructorConfusion">   

        <constructor-arg type="int">   

            <value>90</value>   

        </constructor-arg>   

    </bean>  

  • 相关阅读:
    正则表达式
    iOS获取设备型号、设备类型等信息
    Dubbo-Zookeeper安装
    CentOS-常用安装
    多线程-线程通信
    JVM-高效并发
    静态代理与JDK动态代理
    JVM-类加载机制
    RPC原理及实现
    JVM-自动内存管理机制
  • 原文地址:https://www.cnblogs.com/Jeely/p/11113856.html
Copyright © 2011-2022 走看看