三、Bean的初始化

一、使用构造器实例化Bean:这是最简单的方式,Spring IOC容器既能使用默认空构造器也能使用有参构造器两种方式创建bean

     空构造器

    1. <bean name="bean1" class="cn.javass.spring.chapter2.HelloImpl2"/>

      有参数构造器

    1. <bean name="bean2" class="cn.javass.spring.chapter2.HelloImpl2">  
    2. <!-- 指定构造器参数 -->  
    3.      <constructor-arg index="0" value="Hello Spring!"/>  
    4. </bean> 
    5.           

二、使用静态工厂方式实例化Bean,使用这种方式除了指定必须的class属性,还要指定factory-method属性来指定实例化Bean的方法,而且使用静态工厂方法也允许指定方法参数,spring IoC容器将调用此属性指定的方法来获取Bean,配置如下所示:

    1. <!-- 使用静态工厂方法 -->  
    2. <bean id="bean3" class="cn.javass.spring.chapter2.HelloApiStaticFactory" factory-method="newInstance">  
    3.      <constructor-arg index="0" value="Hello Spring!"/>  
    4. </bean> 

三、使用实例工厂方法实例化Bean,使用这种方式不能指定class属性,此时必须使用factory-bean属性来指定工厂Bean,factory-method属性指定实例化Bean的方法,而且使用实例工厂方法允许指定方法参数,方式和使用构造器方式一样,配置如下:

    1. <!—1、定义实例工厂Bean -->  
    2. <bean id="beanInstanceFactory"  
    3. class="cn.javass.spring.chapter2.HelloApiInstanceFactory"/>  
    4. <!—2、使用实例工厂Bean创建Bean -->  
    5. <bean id="bean4"  
    6. factory-bean="beanInstanceFactory"  
    7.      factory-method="newInstance">  
    8.  <constructor-arg index="0" value="Hello Spring!"></constructor-arg>  
    9. </bean> 
原文地址:https://www.cnblogs.com/gudulijia/p/6405409.html