您现在的位置:首页 >> 前端 >> 内容

spring三种实例化bean方法

时间:2016/12/5 9:33:03 点击:

  核心提示:spring 三种实例化bean的方法1.用构造器来实例化的方式配置配置文件:bean id='标示' class='包名.类'/bean name='标示' class='包名.类'/类代码和普通的...

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

后面再写一下使用注释的

Tags:SP PR RI IN 
作者:网络 来源:太阳XI的博客