小弟我的spring学习笔记8-Spring中Bean的实例化

我的spring学习笔记8-Spring中Bean的实例化
在Spring中要实例化一个Bean有几种方法:

1、最常用的(普通方法)

<bean id="myBean" class="www.6e6.org.MyBean" />


使用这样方法,按Spring就会使用Bean的默认构造方法,也就是把没有参数的构造方法来建立Bean实例。

(有构造方法的下个文细说)

2、还有一种获取Bean实例的方法(工厂方法)

我们看看Spring怎么用工厂方法:

第一种方法:

(1)接口:

public interface IMusicBox {
    public void play();
}

(2)工厂方法:

public class MusicBoxFactory {
    public static IMusicBox createMusicBox() {
        return new IMusicBox(){
           public void play() {
                System.out.println("播放钢琴音乐...");
           }
        };
    }
}


(3)配置:

<bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory" 
    factory-method="createMusicBox"></bean>  

(4)使用:

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringDemo {
    public static void main(String[] args) {
        ApplicationContext appContext = new ClassPathXmlApplicationContext("*.xml");
        IMusicBox myMusicBox = (IMusicBox) appContext.getBean("musicBox");
        myMusicBox.play();
    }
}

第二种配置方法:

<bean id="musicBoxFctory" class="onlyfun.caterpillar.factory.MusicBoxFactory"></bean>   
<bean id="myMusicBox" factory-bean="musicBoxFctory" factory-method="createMusicBox"></bean>