Spring三种实例化bean的方式
Spring通过配置文件实例化bean有3种方式:
- 无参构造器:最常用,通过调用bean的无参构造方法实例化bean。
- 静态工厂:通过调用工厂类的静态方法实例化bean。
- 实例化工厂:与静态工厂的区别是实例化bean的方法非静态,需要先将工厂类实例化,再调用非静态的实例化方法示例bean。
如图,事先写好了Bean1,Bean2,Bean3 3个类来测试3种实例化方法。
public class Bean1 {
public Bean1() {
System.out.println("bean1创建...");
}
}public class Bean2 {
public Bean2() {
System.out.println("bean2创建...");
}
}public class Bean3 {
public Bean3() {
System.out.println("bean3创建...");
}
}
以及Bean的工厂类
/*
* 静态工厂
*/
public class Bean2Factory {
public static Bean2 createBean2() {
System.out.println("调用bean2的静态工厂");
return new Bean2();
}
}public class Bean3Factory {
public Bean3 createBean3() {
System.out.println("调用实例化工厂...");
return new Bean3();
}
}
配置文件bean部分:
(class->包名+类名,factory-method->工厂类的方法,factory-bean->工厂对象)
(实例工厂方法,需要先实例化工厂,再通过工厂对象调用方法实例化bean)
运行结果