1. 程式人生 > 其它 >BeanFactory與FactoryBean有什麼區別?

BeanFactory與FactoryBean有什麼區別?

相同點:都是用來建立bean物件的

不同點:使用beanFactory建立物件的時候,必須要遵循嚴格的生命週期流程,太複雜了,如果想要簡單的自定義某個物件的建立,同時建立好的物件想要交給spring來管理,那麼就需要實現FactoryBean介面了

    這個接口裡有三個方法:isSingleton:是否是單例物件

               getObjectType:獲取返回物件的型別

               getObject:自定義建立物件的過程(new 、反射、動態代理)

    可以理解為:自己定製整個建立的過程,不再像之前的按照bean的生命週期那樣去建立bean。

    

    BeanFactory是提供了OC容器最基本的形式,給具體的IOC容器的實現提供了規範,FactoryBean可以說為IOC容器中Bean的實現提供了更加靈活的方式,FactoryBean在IOC容器的基礎上給Bean的實現加上了一個簡單工廠模式和裝飾模式,我們可以在getObject()方法中靈活配置