小弟我的spring学习笔记8-Spring中Bean的实例化
我的spring学习笔记8-Spring中Bean的实例化
在Spring中要实例化一个Bean有几种方法:
1、最常用的(普通方法)
使用这样方法,按Spring就会使用Bean的默认构造方法,也就是把没有参数的构造方法来建立Bean实例。
(有构造方法的下个文细说)
2、还有一种获取Bean实例的方法(工厂方法)
我们看看Spring怎么用工厂方法:
第一种方法:
(1)接口:
(2)工厂方法:
(3)配置:
(4)使用:
第二种配置方法:
在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>