这三种方式知道第一种就ok了,用的最多的也是第一种
无参数的构造方法的方式
<!--
方式一:无参数的构造方法的实例化
调用构造方法初始化,默认是调用无参数的构造方法
-->
<bean id="bean1" class="cn.test.spring.demo3.Bean1"></bean>
静态工厂实例化的方式
提供一个工厂类:
public class Bean2Factory {
public static Bean2 getBean2(){
return new Bean2();
}
}
配置:
<!--
方式二:静态工厂实例化 Bean
factory-method属性:指定静态工厂初始化对象调用的方法
-->
<bean id="bean2" class="cn.test.spring.demo3.Bean2Factory" factory-method="getBean2"/>
实例工厂实例化的方式
提供 Bean3的实例工厂:
public class Bean3Factory {
public Bean3 getBean3(){
return new Bean3();
}
}
配置:
<!--
方式三:实例工厂实例化 Bean
步骤:
第一步:定义实例工厂对象
第二步:通过实例工厂对象,调用方法创建目标对象
属性:
factory-bean:指定实例工厂对象
factory-method:指定实例工厂创建对象,调用的方法
-->
<bean id="bean3Factory" class="cn.test.spring.demo3.Bean3Factory"></bean>
<bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean>