spring三种实例化bean方法

来源:互联网 发布:手机搜不到网络 只有2g 编辑:程序博客网 时间:2024/05/16 15:15

spring 三种实例化bean的方法

1.用构造器来实例化的方式配置

配置文件:<bean id="标示" class="包名.类"/><bean name="标示" class="包名.类"/>类代码和普通的没有区别,这个是比较常用的

2.使用静态工厂方法实例化的方式配置

配置文件:<bean id="demo" class="com.csdn.DemoFactory" factory-method="getInstance"/>类代码:package com.csdn;public class DemoFactory {    public DemoFactory(){        System.out.println("DemoFactory实例化");    }    public static Demo getInstance(){        return new Demo();    }}package com.csdn;public class Demo {    public Demo(){        System.out.println("Demo实例化");    }}

3.使用实例工厂方法实例化配置

配置文件:<bean id="demo2factory" class="com.csdn.Demo2Factory" /><bean id="demo1" factory-bean="demo2factory" factory-method="getInstance"/>类代码:package com.csdn;public class Demo2Factory {    public Demo2Factory(){        System.out.println("Demo2Factory实例化");    }    public Demo getInstance(){        return new Demo();    }}

测试代码如下

package com.csdn;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Demotest {    @Test    public void test(){        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");        Demo demo = applicationContext.getBean("demo",Demo.class);        System.out.println("静态工厂产生的demo"+demo);        Demo demo2 = applicationContext.getBean("demo1",Demo.class);        System.out.println("实例工厂产生 的demo"+demo2);    }}测试结果如下:Demo2Factory实例化Demo实例化Demo实例化静态工厂产生的democom.csdn.Demo@51e2adc7实例工厂产生 的democom.csdn.Demo@1a8a8f7c

后面再写一下使用注释的

0 0
原创粉丝点击