ApplicationContext继承关系解析

本文详细解析了Spring ApplicationContext的继承结构,包括常用的应用上下文、各接口的作用及其功能,如EnvironmentCapable、MessageSource、ApplicationEventPublisher、ResourcePatternResolver、ResourceLoader等。并介绍了如AnnotationConfigApplicationContext和AnnotationConfigEmbeddedWebApplicationContext在SpringBoot中的应用。
摘要由CSDN通过智能技术生成

概述

这次了解一下ApplicationContext的继承关系。尽管这样学习一次后不可能记住所有的类,但是对ApplicationContext有了一定的轮廓,不再是两眼一抹黑。


常用的ApplicationContext

  • SpringBoot中常用的两个ApplicationContext,主要有以下两个:
    • 常规应用:org.springframework.context.annotation.AnnotationConfigApplicationContext;
    • Web应用:org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext
  • 常用的ApplicationContext的主要功能
    • 包括消息解析、bean工厂的基本功能(bean的注册、实例化、初始化)、context中事件的发布、资源加载与解析、上下文配置、bean销毁等主要功能;

继承关系

这里写图片描述


各个类的作用

  • public interface EnvironmentCapable {……}
    • 作用:所有Spring应用程序上下文都是EnvironmentCapable,该接口主要用于在接受BeanFactory实例的框架方法中执行{@code instanceof}检查,这些实例可能实际上也可能不是ApplicationContext实例,以便在环境可用时与环境进行交互。
    • 方法
      • Environment getEnvironment();
  • public interface MessageSource {……}
    • 作用:用于解析消息的策略接口,支持此类消息的参数化和国际化。
    • 方法
      • String getMessage(String code, Object[] args, String defaultMessage, Locale locale);
      • String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException;
      • String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException;
  • public interface ApplicationEventPublisher {……}
    • 作用:封装事件发布功能的接口。 用作{@link ApplicationContext}的超级接口。
    • 方法
      • void publishEvent(ApplicationEvent event);
      • void publishEvent(Object event);
  • public interface ResourcePatternResolver extends ResourceLoader {……}
    • 作用
      • 用于将位置模式(例如,Ant样式路径模式)解析为Resource对象的策略接口。
      • 这是{@link
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值