Spring之ApplicationContext介绍

ApplicationContext是Spring的重要组件,从BeanFactory派生,提供更全面的应用功能。它主要有ClassPathXmlApplicationContext和FileSystemXmlApplicationContext实现,分别从类路径和文件系统加载配置。ApplicationContext实现了多种接口,如ApplicationEventPublisher用于事件发布,MessageSource支持国际化,ResourcePatternResolver处理资源加载,以及LifeCycle接口管理生命周期。此外,ConfigurableApplicationContext提供刷新和关闭上下文的能力。与BeanFactory不同,ApplicationContext在初始化时会实例化所有单例Bean。

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

ApplicationContext介绍:

如果说BeanFactory是Spring的“心脏”,那么ApplicationContext 就是完整的“身躯”了。ApplicationContext由BeanFactory派生而来,提供了更多面向实际应用的功能。在BeanFactory中,很多功能需要以编程的方式实现,而在ApplicationContext中则可以通过配置的方式实现。

1. ApplicationContext 类体系结构

ApplicationContext的主要实现类是ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext,前者默认从类路径加载配置文件,后者默认从文件系统中装载配置文件。下面了解一下 ApplicationContext的类继承体系,如图
在这里插入图片描述
从图可以看出,ApplicationContext 继承了HierarchicalBeanFactory 和ListableBeanFactory接口,在此基础上,还通过多个其他的接口扩展了BeanFactory 的功能。这些接口如下。
1、ApplicationEventPublisher: 让容器拥有发布应用上下文事件的功能,包括容器启动事件、关闭事件等。实现了ApplicationListener 事件监听接口的Bean可以接收到容器事件,并对事件进行响应处理。在ApplicationContext 抽象实现类
ArtitaplicatiContet中存在一个AipioinMiacaste它负责保存所有的监听器,以便在容器产生上下文事件时通知这些事件监听者。
2、MessageSource: 为应用提供il8n国际化消息访问的功能。

3、ResourcePattermResolver: 所有ApplicationContext 实现类都实现了类似于
PathMatchingResourcePattermResolver的功能,可以通过带前缀的Ant风格的资源文件路径装载Spring的配置文件。

4、LifeCycle: 该接口提供了start0和stop0两个方法,主要用于控制异步处理过程。在具体使用时,该接口同时被ApplicationContext 实现及具体Bean 实现,ApplicationContext会将start/stop 的信息传递给容器中所有实现了该接口的Bean,以达到管理和控制JMX、任务调度等目的。
ConfigurableApplicationContext扩展于ApplicationContext,它新增了两个主要的方法: refresh0和 close0,让ApplicationContext具有启动、刷新和关闭应用上下文的能力。在应用上下文关闭的情况下调用refre

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值