理解ApplicationContext与BeanFactory的关系及BeanFactory的组成结构分析

  ApplicationContext是Spring IoC容器的顶级接口,它继承了BeanFactory接口,因此可以将ApplicationContext视为BeanFactory的子接口。

  我们可以用一个形象的比喻来说明这一关系:ApplicationContext就像一家4S店,专注于销售汽车,但不直接参与制造;而BeanFactory则如同一个工厂,专门负责生产汽车,却不进行销售。这样的区分使得Spring框架在管理和使用Bean时更为灵活与高效。

  注意:BeanFactory中不光只有单例池,还有一些其他的东西,如下图:

  可以看出IOC容器中包含一个beanFactory对象,而该对象的各个父类中又定义了很多属性值,包含我们的bdMap集合,bdName集合,单例池,singletonFactories三级缓存,earlySingletonObject二级缓存,servletContext应用上线文,beanPostProcessor实现类后置处理器集合等等,所以其并不是仅指单例池。

  如果您希望更深入地学习Spring源码,我强烈推荐您访问以下项目链接:https://gitee.com/chengyadong555/spring-framework.git。在这个项目中,对Spring源码进行了逐行分析,作者不仅提供了丰富的注释,还融入了自己独到的理解和见解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值