Spring——BeanFactory和FactoryBean的区别?

1.BeanFactory

 

BeanFactory定义了IOC容器的最基本形式,并提供了IOC容器应遵守的的最基本的接口,也就是Spring IOC所遵守的最底层和最基本的编程规范。

     它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。

    在Spring代码中,BeanFactory只是个接口,并不是IOC容器的具体实现,

          但是Spring容器给出了很多种实现,如 DefaultListableBeanFactory、XmlBeanFactory、ApplicationContext等,都是附加了某种功能的实现。

 

 

ApplicationContext是BeanFactory的扩展,

BeanFactory的子类是ClassPathXmlApplicationContext

BeanFactory提供的方法

  • Object getBean(String name)
  • <T> T getBean(String name, Class<T> requiredType)
  • <T> T getBean(Class<T> requiredType)
  • Object getBean(String name, Object... args)
  • boolean containsBean(String name)
  • boolean isSingleton(String name)
  • boolean isPrototype(String name)
  • boolean isTypeMatch(String name, Class<?> targetType)
  • Class<?> getType(String name)
  • String[] getAliases(String name)

2.FactoryBean

 

Spring中为我们提供了两种类型的bean,一种是普通的bean,我们通过getBean(id)获得该bean的实际类型;

两外一种是FactoryBean,也就是工厂Bean,我们通过getBean(id)获得该工厂所产生的Bean实例。

FactoryBean 是一个bean,一个接口,实现该接口后,有能力改变bean,并最终可以生成一个bean的实例。

这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean。

 

 

FactoryBean接口提供的方法

  • T getObject()
  • Class<?> getObjectType()
  • boolean isSingleton()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值