文章目录
前言
- 一开始学习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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96110.html