spring中BeanFactory和FactoryBean
spring中BeanFactory和FactoryBean
BeanFactory
- BeanFactory是spring的IOC容器中的核心接口,是负责生产和管理bean的一个工厂。主要职责是:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。
- BeanFactory只是个接口,并不是IOC容器的具体实现,但是Spring容器给出了很多种实现,如 DefaultListableBeanFactory、XmlBeanFactory、ApplicationContext等,其中XmlBeanFactory就是常用的一个,该实现将以XML方式描述组成应用的对象及对象间的依赖关系。XmlBeanFactory类将持有此XML配置元数据,并用它来构建一个完全可配置的系统或应用。
FactoryBean
- 该类是SpringIOC容器是创建Bean的一种形式,这种方式创建Bean会有加成方式,融合了简单的工厂设计模式于装饰器模式
- 首先它是一个Bean,但又不仅仅是一个Bean。它是一个能生产或修饰对象生成的工厂Bean。主要功能是动态生成某一个类型的Bean的实例
Spring Cloud里面的OpenFeign组件,客户端的代理类,就是使用了FactoryBean来实现的。