1. ApplicationContext和BeanFactory的区别

本文探讨了Spring框架中应用上下文(ApplicationContext)与Bean工厂(BeanFactory)的主要区别。重点介绍了应用上下文如何预载入单实例Bean以及如何自动注册BeanPostProcessor等特性,这些特性使得应用上下文成为应用开发时的首选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.增强的功能

        1.应用上下文提供了文本信息解析工具,包括对国际化的支持。
        2.应用上下文提供了载入文件资源的通用方法,如载入图片。
        3.应用上下文可以向注册为监听器的Bean发送事件。

2.区别

        1.应用上下文与Bean工厂的重要区别之一是关于单实例Bean是的载入方式。Bean工厂延迟载入所有的Bean,直到getBean()方法被调用时Bean才被创建。应用上下文则聪明一点,它会在上下文启动后预载入所有的单实例Bean,通过预载入单实例Bean,确保当你需要的时候它们已经准备好,你的应用不需要等待它们被创建。
        2.ApplicationContext和BeanFactory另一个很大的区别在于:ApplicationContext会利用Java反射机制自动判断出配置文件中定义的BeanPostProcessor、InstantiationAwareBeanPostProcessor和BeanFactoryPostProcessor,并自动将它们注册到应用上下文中;而BeanFactory需要在代码中通过手工调用addBeanPostProcessor()方法进行注册.这也是为什么在应用开发时,我们普遍使用ApplicationContext而很少使用BeanFactory的原因之一.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值