Spring框架_实例化Bean的三种方式

 在使用Spring的时候,Spring给我们提供了三种实例化bean的方式。

1. 构造方法实例化(默认无参数)
 <1>创建一个对象类,提供一个无参构造。

 <2>在spring的配置文件中进行配置(比如:applicationContext.xml)

配置情况如下:


<bean name="demo" class="demo的全路径">bean>

 <3>使用getBean( )方法创建

// 无参数的构造方法的实例化
public void test() {
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
        "applicationContext.xml");
    Demo demo = (Demo) applicationContext.getBean("demo");
    System.out.println(demo);
}


2. 静态工厂实例化
 <1>创建对象类以及对象工厂类

//对象类
public class Demo{

}


//对象静态工厂类
public class DemoFactory{
    public static Demo getDemo(){
        return new Demo();
    }
}

 <2>在spring配置文件中进行配置(比如:applicationContext.xml),
配置如下:


<bean id="demo" class="Dome静态工厂的全类名"
        factory-method="创建demo的方法(getDemo)">
bean>

 <3>使用getBean( )方法

// 静态工厂实例化
public void test() {
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
        "applicationContext.xml");
    Demo demo = (Demo) applicationContext.getBean("demo");
    System.out.println(demo);
}

3. 实例工厂实例化
 <1>创建对象类和对象实例工厂

//对象类
public class Demo{

}


//对象工厂类
public class DemoFactory{
    public Demo getDemo(){
        return new Demo();
    }
}

 <2>在spring的配置文件下进行配置(例如:applicationContext.xml),
配置如下:


<bean id="demo" factory-bean="demoFactory" factory-method="getDemo">bean>
<bean id="demoFactory" class="Demo实例工厂的全类名">bean>

 <3>使用getBean( )方法

// 实例工厂实例化
public void test() {
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
        "applicationContext.xml");
    Demo demo= (Demo) applicationContext.getBean("demo");
    System.out.println(demo);
}

你可能感兴趣的:(Spring,spring,框架,实例化)