spring中的beanFactory和FactoryBean的区别?

发布时间 2023-05-26 12:28:42作者: 森林中大鸟
  • beanFactory是容器的根接口是一个工厂,负责管理bean,创建bean。
  • FactoryBean是一个工厂bean,用来创建一类比较复杂的对象。比如mybatis里的sqlsessionFactory。

二者的联系:
FactoryBean 的实现类会向容器中注入自身以及getObject方法返回的对象。
二者联系的点在于 AbstractBeanFactory里。具体方法是 getObjectForBeanInstall(),内部会判断当前获取的bean是不是FactoryBean类型的,如果是会去调用他的getObject方法,取到对象放入容器中。