一、无参构造器配置
<bean id="helloWord" class="spring_0.HelloWord"></bean>
二、有参构造器
<bean id="car" class="spring_0.Car">
<!--也可以指定 indx属性 -->
<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>