在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>