• 【博学谷学习记录】超强总结,用心分享|架构师-Spring核心组件介绍


    一、Bean组件

    Bean组件定义在Spring的org.springframework.beans包下,解决了以下几个问题:

    这个包下的所有类主要解决了三件事:

    Bean的定义
    Bean的创建
    Bean的解析
    Spring Bean的创建是典型的工厂模式,它的顶级接口是BeanFactory。

    在这里插入图片描述
    BeanFactory有三个子类:ListableBeanFactory、HierarchicalBeanFactory和AutowireCapableBeanFactory。目的是为了区分Spring内部对象处理和转化的数据限制。

    但是从图中可以发现最终的默认实现类是DefaultListableBeanFactory,它实现了所有的接口

    二、Context组件

    Context在Spring的org.springframework.context包下

    Context模块构建于Core和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法.Context模块继承了Beans的特性,为Spring核心提供了大量扩展,添加了对国际化(例如资源绑定)、事件传播、资源加载和对Context的透明创建的支持

    ApplicationContext是Context的顶级父类
    在这里插入图片描述

    ApplicationContext 的子类主要包含两个方面:

    ConfigurableApplicationContext 表示该 Context 是可修改的,也就是在构建 Context 中用户可以动态添加或修改已有的配置信息
    WebApplicationContext 顾名思义,就是为 web 准备的 Context 他可以直接访问到 ServletContext,通常情况下,这个接口使用少

    再往下分就是按照构建 Context 的文件类型,接着就是访问 Context 的方式。这样一级一级构成了完整的 Context 等级层次。

    总体来说 ApplicationContext 必须要完成以下几件事:

    标识一个应用环境
    利用 BeanFactory 创建 Bean 对象
    保存对象关系表
    能够捕获各种事件

  • 相关阅读:
    滚动更新和回滚部署在 Kubernetes 中的工作原理
    echarts 水球示例
    【Kubernetes】k8s集群资源调度
    如何通过图片提取文献图里的数据点
    WMWS在线监测管理系统的工程常用计算工具
    江苏数据中心是如何保证数据安全
    SSM框架简单介绍
    pinctrl子系统 - 源码解析(五)
    pytorch的buffer学习整理
    python 数据保存格式的选择
  • 原文地址:https://blog.csdn.net/qq_22043649/article/details/128113997