【Spring -- 03 ApplicationContext】

ApplicationContext 是 Spring 框架中的一个核心接口,它是 BeanFactory 的子接口,提供了更多的企业级功能。ApplicationContext 除了包含 BeanFactory 的所有功能外,还增加了以下特性:

  1. 国际化(I18n):提供了对消息资源(比如 MessageSource)的访问,支持国际化。
  2. 事件传播:提供了事件机制,允许在 bean 之间发布和接收事件(如 ApplicationEvent)。
  3. 统一的资源访问:提供了对资源文件(如文件和 URL)的访问,支持不同的资源加载方式(如 ResourceLoader)。
  4. 内置支持的不同应用上下文:如 Web 应用程序上下文。

常见的 ApplicationContext 实现类

1. ClassPathXmlApplicationContext

ClassPathXmlApplicationContext 从类路径加载 XML 配置文件来构建应用上下文。适用于基于 XML 配置的 Spring 项目。

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
2. FileSystemXmlApplicationContext

FileSystemXmlApplicationContext 从文件系统中的 XML 配置文件加载应用上下文,适用于 XML 配置文件不在类路径中的情况。

ApplicationContext context = new FileSystemXmlApplicationContext("C:/path/to/applicationContext.xml");
3. AnnotationConfigApplicationContext

AnnotationConfigApplicationContext 用于注解驱动的 Spring 配置,常与 @Configuration@ComponentScan 注解配合使用。

ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
4. GenericApplicationContext

GenericApplicationContext 是一个通用的应用上下文,支持通过编程方式注册 bean 定义,非常灵活。

GenericApplicationContext context = new GenericApplicationContext();
context.registerBean(MyBean.class);
context.refresh();
5. WebApplicationContext

WebApplicationContext 是 Spring Web 应用程序上下文的专用实现,扩展了普通的 ApplicationContext,并添加了与 web 应用程序相关的功能。通常与 ContextLoaderListener 配合使用。

6. ConfigurableApplicationContext

ConfigurableApplicationContextApplicationContext 的一个子接口,提供了更灵活的上下文管理功能,包括启动和关闭上下文的方法。

ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
context.start();
context.stop();
context.close();

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值