第3讲:BeanFactory与FactoryBean简介

1、BeanFactory是一个最顶层的Ioc容器,它管理对bean的操作方法:(批量生产bean的工厂)

BeanFactory中的方法:

1》查找bean ————> getBean()

2》判断BeanFactory中是否包含某个bean ——> containsBean()

3》判断bean是否是单例类型 ——> isSingleton()

4》bean是否是原型类型 ——> isPrototype()

5》bean是否匹配某个类型 ——> isTypeMatch() 该方法有重载

6》得到bean的类型 ——> getType()

7》得到bean的别名 ——> getAliases()

BeanFactory中的属性:

1》FACTORY_BEAN_PREFIX = "&"; ——> 该属性的使用场景:用于区分工厂类的bean和普通类的bean。BeanFactory本身也是一个类,也需要创建BeanFactory的实例bean,通过getBean(字符串参数)方法获取一个bean的时候会判断 字符串参数 中是否包含FACTORY_BEAN_PREFIX 定义的前缀,即 &。如果包含,则会得到BeanFactory的一个实例bean;如果不包含,则得到普通bean(非BeanFactory的bean实例)

2、FactoryBean是一个特殊的Bean,它是一个工厂bean(只能创建某种类型bean的工厂)

如果某个bean实现了FactoryBean这个接口,那么这个bean就必然不是一个普通的bean,而是一个工厂bean(所以工厂bean也是像一个普通bean一样,保存在Ioc容器(BeanFactory)中)。那么该bean就可以通过getObject()方法,返回一个其他的bean。作用:这个bean在动态代理中(spring的Aop)得到了大量的运用,利用这个bean返回一个代理bean

FactoryBean这个接口里面的方法:

1》返回一个对象(bean)——> getObject()

2》管理的bean是否是单例的 ——> isSingleton() factoryBean调用getObject()方法返回的bean,就是它所管理的bean

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值