Spring中FactoryBean和BeanFactory有什么区别?

一、BeanFactory

BeanFactory是Spring里面最底层的接口,包含了各种Bean的定义,读取bean配置文档,管理bean的加载、实例化,控制bean的生命周期,维护bean之间的依赖关系。


二、FactoryBean

FactoryBean是一个Bean,实现了FactoryBean接口的类有能力改变bean,类似于普通bean的一个装饰器,普通的bean对象可以通过实现FactoryBean接口,对bean进行改造。

FactoryBean接口提供了三个方法:

  1. getObject( )
  2. getObjectType( )
  3. isSingleton( )

三个方法的意义非常明确——getObject( )希望返回改造后的bean对象到spring容器中,getObjectType( )希望返回改造的bean的具体类型,isSingleton( )希望返回改造的bean是否是单例的。


三、总结

BeanFactory:是一个工厂接口,是spring最底层的接口,用于创建和管理普通的bean对象。

FactoryBean:是一个Bean接口,在Ioc容器的基础上给Bean的实现增加了一个工厂模式和装饰模式,返回的对象由getObject( )决定。相当于对普通的bean对象进行了改造。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值