mysterin / question_and_answer

1 stars 0 forks source link

spring 中 BeanFactory 和 FactoryBean 区别 #85

Closed mysterin closed 5 years ago

mysterin commented 5 years ago

BeanFactory

顾名思义, 管理 bean 的工厂, 也就是 spring 的容器, 所谓的上下文就是实现了这个接口.

FactoryBean

工厂 bean, 和一般的 bean 有分别. 如果使用 getBean(id) 这样操作, 返回的不是 FactoryBean 的本身实例, 而是这个工厂 bean 产生的 bean 的实例. 具体过程是: BeanFactory.getBean(id) -> FactoryBean.getObject() 使用方式:

<bean id="xxxBean" class="yy.zz.xxFactoryBean" />