Spring context架构--静态结构

概念

Context也就是我们常说的spring容器,打个比方,context就像是一家公司,beans则是公司的工厂,除了工厂,公司还有翻译,仓库以及办公场所等等。

下面就看看context的主要构成部件。

Context构成部件

spring context

上图是ApplicationContext的实体静态结构,它继承了六个实体。虽然是继承,但其实context和他们的关系更像是聚合。Spring使用继承主要是为了在context上也同时体现这6个实体的特征。在实现层面,context事实上是个包装类,最终通过聚合的实体类完成相应行为,而ApplicationContext接口本身并没有什么实质意义的方法。

public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory, HierarchicalBeanFactory,
        MessageSource, ApplicationEventPublisher, ResourcePatternResolver {
   

    String getId();

    String getApplicationName();

    String getDisplayName();

    long getStartupDate();

    ApplicationContext getParent();

    AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateException;
}

ApplicationContext的实质功能都是继承于以下6个实体:

  1. MessageSource: 用于国际化的接口,可以将其理解为公司的翻译。用户可以通过bean配置自定义MessageSource–要求name为“messageSource”,spring会在容器refresh时自动探测并且初始化它。

  2. ApplicationEventPublisher: 用于发布应用事件,例如ContextRefreshed,stopped, started等。它就像是企业邮箱,通过它可以接收到公司的事件通知。用户通过配置ApplicationListener类型的bean即可订阅这类事件,spring通过getBean

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值