applicationContext.xml


<!-- bean实例化方式1 构造方法 -->
    <bean id="bean1" class="main.com.lee.b_construct.Bean1" />
                                                     
    <!-- bean实例化方式2 静态工厂方法 -->
    <bean id="bean2" class="main.com.lee.b_construct.Bean2Factory" factory-method="getBean2" />
                                                     
    <!-- bean实例化方式2 动态工厂方法  -->
    <bean id="bean3Factory" class="main.com.lee.b_construct.Bean3Factory" />
    <bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3" />


Test

@Test
    // spring的三种bean初始化方式 构造方法实例化 要求提供默认构造器
    public void demo1() {
        Bean1 bean1 = (Bean1) applicationContext.getBean("bean1");
        System.out.println(bean1);
    }
    @Test
    // spring的三种bean初始化方式 静态工厂方法
    public void demo2() {
        Bean2 bean2 = (Bean2) applicationContext.getBean("bean2");
        System.out.println(bean2);
    }
    @Test
    // spring的三种bean初始化方式 动态工厂方法
    public void demo3() {
        Bean3 bean3 = (Bean3) applicationContext.getBean("bean3");
        System.out.println(bean3);
    }