Spring三种实例化bean的方式

Spring通过配置文件实例化bean有3种方式:

  1. 无参构造器:最常用,通过调用bean的无参构造方法实例化bean。
  2. 静态工厂:通过调用工厂类的静态方法实例化bean。
  3. 实例化工厂:与静态工厂的区别是实例化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部分:

Spring三种实例化bean的方式

(class->包名+类名,factory-method->工厂类的方法,factory-bean->工厂对象)

(实例工厂方法,需要先实例化工厂,再通过工厂对象调用方法实例化bean)

运行结果

Spring三种实例化bean的方式

 

Spring三种实例化bean的方式 

Spring三种实例化bean的方式