文章目录
- 前言
- 一、基础接口
- 1.Resource
- 2.ResourceLoader
- 3.BeanFactory
- (1)总览
- (2)继承如下
- (3)重要的工厂
- 4. ApplicationContext
前言
- 一开始学习spring我们首先还是要搞清楚他的整体架构,就是他是干嘛的,里面是怎么跑的(读资源到bean工厂=》创建bean定义=》按照bean定义造bean=》放到池中使用)
Spirng 痛苦源码学习(一)——总起spring(一)

- 擒贼先擒王,认识里面几个重要的类和接口
-
基础接口
Resource+ResourceLoader
BeanFactoryIOC容器的顶层接口,只是其中的一个功能
BeanDefinitionbean定义信息
BeanDefinitionReaderbean定义读取
BeanDefinitionRegistrybean定义注册
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










![[附源码]Node.js计算机毕业设计互联网教学平台Express](https://img-blog.csdnimg.cn/28b28716384e43cdbb63d554fdea0474.png)


![[附源码]Python计算机毕业设计SSM基于Java家庭财务管理系统(程序+LW)](https://img-blog.csdnimg.cn/7fc5d4a28d04468194e7798352a5b8d0.png)


![[附源码]Nodejs计算机毕业设计基于框架的在线问答平台Express(程序+LW)](https://img-blog.csdnimg.cn/a332ce6f950e44aeb60acf6007268df0.png)
![[附源码]Python计算机毕业设计公租房管理系统Django(程序+LW)](https://img-blog.csdnimg.cn/3dfbec5028d34c869df6c0f63af517ac.png)



![[ 数据结构 -- 手撕排序算法第一篇 ] 插入排序](https://img-blog.csdnimg.cn/2b20bbe5277e4ea78060c55f8f744f8c.png)







