模拟实现spring的bean工厂

来源:互联网 发布:如何注册知乎账号 编辑:程序博客网 时间:2024/06/07 16:16

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工厂就模拟完毕!

原创粉丝点击