BeanFactory 和 FactoryBean

原文链接_欢迎访问我的有道笔记

BeanFactory 和 FactoryBean 是spring两大核心的基础规范

  1. BeanFactory是一个接口,该接口定义IoC容器基本功能,常见的实现类有DefaultListableBeanFactory、XmlBeanFactory、ApplicationContext。如果粗略的理解的话可以理解为BeanFactory就是我们的Ioc容器,我们所有的bean都是从BeanFactory中获取的

BeanFactory

  1. FactoryBean是一个接口,也是一种bean,是从BeanFactory中获取到的bean,如果不看前缀Factory的话它就是一个Bean,比如CarBean,就是汽车Bean,没有什么特殊的,所以FactoryBean仅仅是一种Bean。当然只要是Bean就有自己的功能(面向对象基础),比如CarBean可能会有method,可能drive()驱动方法,parking()停车方法。这样我们用这种角度来理解FactoryBean会简单很多,前缀来看Factory,工厂的意思,根据我们常见的修饰模式、工厂模式能很快理解,这个Bean就是一个工厂Bean,这个Bean能提供修饰模式或者工厂模式。其实FactoryBean是spring AOP 功能实现的一个基础。(AOP其实是对bean进行代理——proxy)
    ProxyFactoryBean 结构
  2. 总结,BeanFactory规范了Ioc基本,用来提供各种Bean。FactoryBean规范了代理类或者工厂类的获取,用来提供修饰Bean(AOP原理中描述了从一个BeanFactory中获取FactoryBean(ProxyFactoryBean),并利用这个FactoryBean获取我们要进行代理的类进行修饰,形成新的代理类,最终实现AOP功能)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值