使用Spring实例化Bean的方法以及Bean取别名

一、通过构造方法实例化Bean

bean中加构造方法

public class Bean1 {
    public Bean1() {
        System.out.println("Bean1构造方法.Bean1");
    }
}

xml中配置Bean

<bean class="main.java.jirath.spring.class05.Bean1" id="bean1"></bean>

采用ApplicationContext中ClassPathXmlApplicationContext的方法将Bean交给IOC容器保管。

public static void main(String[] args) {
        ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
        Bean1 bean1=context.getBean("bean1", Bean1.class);
        System.out.println("Bean1 = "+bean1);
    }

二、通过静态方法实例化Bean

除了bean以外,还需要一个beanFactory类用以产生Bean,产生Bean的方法是静态的

public class Bean2Factory {
    public static Bean2 getBean2(){
        return new Bean2();
    }
}

bean2与上一条相同

public class Bean2 {
    public Bean2() {
        System.out.println("Bean2构造方法.Bean2");
    }
}

xml文件中略有不同,需要添加factory-method

<bean class="main.java.jirath.spring.class05.Bean2Factory" factory-method="getBean2" id="bean2"></bean>

三、通过实例方法实例化Bean

同样需要一个factory类,产生Bean的方法不能是静态

public class Bean3Factory {
    public Bean3 getBean3(){return new Bean3();}
}

bean相同

public class Bean3 {
    public Bean3() {
        System.out.println("Bean3构造方法.Bean3");
    }
}

xml的配置需要多写一个Bean3,Bean3中需要写factory-bean factory-method

 <bean class="main.java.jirath.spring.class05.Bean3Factory" id="bean3Factory"></bean>
<bean class="main.java.jirath.spring.class05.Bean3" factory-bean="bean3Factory" factory-method="getBean3" id="bean3"></bean>

给Bean取别名

给Bean取别名

posted @ 2019-06-26 02:31  jirath  阅读(1541)  评论(0编辑  收藏  举报