Spring高频考题——BeanFactory与Application到底是啥?

本文探讨BeanFactory和ApplicationContext在Spring框架中的区别与实现。BeanFactory作为基础容器,提供IOC和DI功能,支持延迟加载;而ApplicationContext是更高级的容器,具备企业级特性如AOP、事件发布、国际化等。ApplicationContext预创建Bean,而BeanFactory在getBean时实例化。此外,文章还介绍了BeanFactory的后处理器实现及ApplicationContext的不同实现类。
摘要由CSDN通过智能技术生成

前言


你我在此相遇,全因八股文。

一年之后就要找实习了,所以我想提前储备好知识,希望被面试的时候不会被拷打死。本系列文章将会分享我探索Spring框架的经历与了解到的知识。

至此,既然逃不掉,那就使劲造。

以下是本文探讨的问题:

  • BeanFactory与Application的区别?
  • BeanFactory与Application的实现?

一.BeanFactory与ApplicationContext的区别?

1.它俩为何物?

BeanFactory顾名思义,Bean的加工厂,主要责任是对Bean进行实例化配置管理,并支持延迟初始化(支持在获取Bean时才进行实例化),提供了最简单的容器功能。

ApplicationContext-------应用上下文 ,是BeanFactory的子接口,由BeanFactory派生而来,是一个维护Bean定义以及对象之间协作关系的高级接口,能提供更多企业级功能。

两者同为Spring框架中的容器,而ApplicationContext继承了多个接口,相比BeanFactory拓展了更多实用功能,作为Spring核心容器的它起着不可或缺的功能。

我们先看到两者的继承关系

image.png

ApplicatonContext间接继承了BeanFactory

同时BeanFactory作为一个简单功能的容器,体现有二。

其一,我们可以在SpringApplication.run方法生成 ConfigurableApplicationContext的一个实现类中AbstractApplicationContext的getBean方法得知其底层是获取BeanFactory对象调用其中getBean方法的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值