模拟实现spring的bean工厂

spring的IOC容器时运用工厂模式实现的,我也简单的模拟一下bean工厂。

 

场景:定义一个接口 Person,里面有个方法 speek(),说话,Boy可以实现speek,Girl当然也可以实现

 

当我们需要获取具体的boy或girl对象时,我们的设计思路是直接从我们创建的工厂里面获取,而不需要自己new出来。

 

 

 

 

到此,如果不考虑工厂模式的话,我们的实现是 Person p = new Boy(),然后调用speek方法,这样做的话肯定是不灵活的,下面我们就考虑spring的Bean工厂

 

 

这里是最简单的bean,就是id对应class,我们把需要new的对象都配置在bean里面,给一个唯一的id值,那么当我们需要new哪个类的对象时,只需要把该类对象的id号传递过来,通过反射获取该对象的实例

 

 

这就是简单的bean工厂,通过getObjectInstance()方法获取指定的对象

 

到此,spring的bean工厂就模拟完毕!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章