BeanFactory和FactoryBean的区别

BeanFactory是Spring框架的核心IoC容器接口,负责管理所有Bean的生命周期;

FactoryBean是一个特殊的Bean接口,用于自定义复杂对象的创建逻辑。

BeanFactory是容器,管理所有Bean(包括FactoryBean),FactoryBean是被管理的Bean,只是它有特殊能力可以创建其他Bean。

BeanFactory‌。

  • ‌角色‌:作为Spring IoC容器的核心接口,是Spring框架的“心脏”,负责管理Bean的创建、配置、依赖注入及生命周期。‌‌ 
  • ‌功能‌:提供基础方法如getBean()containsBean()等,支持懒加载(默认首次请求时实例化)。‌‌ 
  • ‌典型实现‌:DefaultListableBeanFactoryApplicationContext(扩展了企业级功能如AOP)。‌‌ 

‌FactoryBean‌。

  • ‌角色‌:是一个能动态生成其他Bean的特殊Bean,适用于复杂对象的定制化创建(如代理对象、连接池等)。‌‌
  • ‌核心方法‌:getObject()返回实际Bean实例,getObjectType()定义返回类型,isSingleton()控制单例模式。‌‌
  • ‌典型应用‌:MyBatis的SqlSessionFactoryBean、Spring AOP的ProxyFactoryBean
posted @ 2025-07-29 10:25  KLAPT  阅读(14)  评论(0)    收藏  举报