ApplicationContext和BeanFactory区别简析

其他BeanFactory接口的实现类,会延迟到调用getBean()方法时构造,ApplicationContext的初始化时间会稍长些,调用getBean()是由于Bean已经构造完毕,速度会更快。因此大部分系统都是用ApplicationContext,而只在资源较少的情况下,才考虑使用BeanFactory。


具象化:

鱼香肉丝就是bean的名字,你点了,就交由厨师来做,但是这个前提是食材都得具备,这就是延迟初始化。


这家饭店就是上下文。


醋,油,水,都是现成的,初始化要有的,桌子,椅子也要现成的,这是Servlet中服务的一部分。


但是,菜品就不行了。


还有垃圾回收,那些服务员,一旦客人用完餐之后,也就断了索引,成为垃圾了,该收拾的收拾,然后倒进垃圾桶,厨房的剩菜同样是。


垃圾由谁来负责,当然是jvm,jvm是独立出来的,饭店是开在哪里的,当然是社会上,那社会上自然会有专门处理垃圾的企业来收这里的垃圾。这就是面向对象。

ApplicationContextBeanFactory是Spring框架中用于管理和配置应用程序组件的核心接口。 BeanFactory是Spring的基础设施,它是用于创建和管理应用程序中的对象(也称为bean)的根接口。它提供了一种灵活的方式来配置和管理bean,可以支持延迟初始化、依赖注入和面向切面编程等特性。BeanFactory负责实例化、配置、装配和管理bean的生命周期。 ApplicationContextBeanFactory的一个子接口,提供了更多的功能和特性。它不仅继承了BeanFactory的所有功能,还提供了更高级的功能,例如国际化支持、事件发布、资源管理、AOP集成、事务管理等。ApplicationContext是Spring框架中推荐使用的接口,它更加适合于大多数应用程序。 相比于BeanFactoryApplicationContext有以下优点: 1. 自动化配置:ApplicationContext可以自动检测并加载基于注解或XML配置的bean定义,无需手动配置。 2. 生命周期管理:ApplicationContext可以管理bean的生命周期,包括初始化和销毁。 3. AOP支持:ApplicationContext集成了面向切面编程(AOP)功能,可以方便地应用切面逻辑。 4. 事件发布机制:ApplicationContext可以发布和监听事件,实现组件之间的解耦。 总之,ApplicationContextBeanFactory的增强版,提供了更多的功能和特性,因此在大多数情况下,我们应该使用ApplicationContext来管理和配置应用程序组件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值