拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 BeanFactory与FactoryBean有什么区别?

BeanFactory与FactoryBean有什么区别?

白鹭 - 2022-03-16 1973 0 0

相同点:都是用来创建bean物件的

不同点:使用beanFactory创建物件的时候,必须要遵循严格的生命周期流程,太复杂了,如果想要简单的自定义某个物件的创建,同时创建好的物件想要交给spring来管理,那么就需要实作FactoryBean界面了

    这个界面里有三个方法:isSingleton:是否是单例物件

               getObjectType:获取回传物件的型别

               getObject:自定义创建物件的程序(new 、反射、动态代理)

    可以理解为:自己定制整个创建的程序,不再像之前的按照bean的生命周期那样去创建bean,

    

    BeanFactory是提供了OC容器最基本的形式,给具体的IOC容器的实作提供了规范,FactoryBean可以说为IOC容器中Bean的实作提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实作加上了一个简单工厂模式和装饰模式,我们可以在getObject()方法中灵活配置

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *