Spring学习之配置Bean几种不同的方式

一、无参构造器配置

<bean id="helloWord" class="spring_0.HelloWord">bean>

二、有参构造器

<bean id="car" class="spring_0.Car">
    
<constructor-arg value="Audi" type="java.lang.String"/>
<constructor-arg value="ShngHai" type="java.lang.String"/>
<constructor-arg value="300" type="double"/>
bean>

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

public class BeanFactory {    
    //实例工厂方法    
       public Bean newInstance() {    
              //返回需要的Bean实例    
           return new Bean();    
    }    
}  

Xml配置如下


<bean id="factorybean" class="spring_1.FactoryBean">bean>

<bean id="factory" factory-bean="factorybean" factory-method="newInstance">bean>

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

java代码如下

public class BeanStaticFactory {    
    //工厂方法    
       public static Bean newInstance() {    
              //返回需要的Bean实例    
           return new Bean();    
    }    
}  

xml配置如下

    
<bean id="bean3" class="spring_0.BeanStaticFactory" factory-method="newInstance">    
bean> 

你可能感兴趣的:(Spring)