Spirng 痛苦源码学习(三)——Spring中的几个核心老大

导读:本篇文章讲解 Spirng 痛苦源码学习(三)——Spring中的几个核心老大,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com


前言

  • 一开始学习spring我们首先还是要搞清楚他的整体架构,就是他是干嘛的,里面是怎么跑的(读资源到bean工厂=》创建bean定义=》按照bean定义造bean=》放到池中使用)
    Spirng 痛苦源码学习(一)——总起spring(一)
    在这里插入图片描述
  • 擒贼先擒王,认识里面几个重要的类和接口
    • 基础接口
      Resource+ResourceLoader
      BeanFactory IOC容器的顶层接口,只是其中的一个功能
      BeanDefinition bean定义信息
      BeanDefinitionReader bean定义读取
      BeanDefinitionRegistry bean定义注册
      SingletonBeanRegistry ·单例bean注册
      ApplicationContext 是BeanFactory的子类
      Aware 各种Aware接口

    • 生命周期-后置处理器
      BeanFactoryPostProcessor
      InitializingBean
      BeanPostProcessor


一、基础接口

spring中的一些主脉络,这也是设计模式中的依赖倒置原则,面向接口编程

1.Resource

ctrl+F12看方法,ctrl+H看实现类

资源可以看到我的资源可以来着很多地方。web项目下的指定路径,网络,流。。。
在这里插入图片描述
在这里插入图片描述


2.ResourceLoader

资源加载接口,策略接口
在这里插入图片描述

===》策略模式UML类图

策略模式就是抽象出行为和主体。
例子:一个人怎么去北京。人就是主体,那么交通方式就是行为方式,就可以抽象一个交通方式的接口,然后聚合到行为主体中,传入具体的子类来完成不同的策略。
那么spring的资源加载也是如此,怎么读资源就是一种行为
在这里插入图片描述

ctrl H 看一下继承
在这里插入图片描述
===》策略环境持有者(IOC容器持有)
在这里插入图片描述

3.BeanFactory

(1)总览

在spring 的整体架构流程图中,我们可以知道Spring就是在Bean工厂造东西的过程。
同时通过该注释我们也可以看到这是一个根接口,是Spring容器的入口
在这里插入图片描述

(2)继承如下

在这里插入图片描述

  • HierarchicalBeanFactory:定义父子工厂(父子容器)
  • ListableBeanFacotory:的实现是DefaultListableBeanFactory,保存了ioc容器中的核心信息
  • AutowireCapableBeanFactory:提供自动装配能力

(3)重要的工厂

缓存了各种信息,bean定义信息,bean信息等核心信息
在这里插入图片描述

4. ApplicationContext

在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96110.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!