Spring IOC的源码流程

IOC(Inversion of Control)控制反转

所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现

DI(Dependency Injection)依赖注入:

就是指对象是被动接受依赖类而不是自己主动去找,换句话说就是指对象不是从容器中查找它依赖的类,而是在容器实例化对象的时候主动将它依赖的类注入给它。

Spring IOC容器初始化三部曲:

Spring IOC的源码流程_第1张图片

一, 定位:定位配置文件和扫描相关的注解

    1. 寻找入口

        ClassPathXmlApplicationContext -> 调用该函数构造函数中的refresh() -> AbstractApplicationContext

     2. 获取配置文件路径

         

     3. 开始启动

     4. 创建容器

     5. 载入配置路径

     6. 分片路径处理策略

     7. 解析配置文件路径

     8. 开始读取配置文件

     9. 准备文档对象

二, 加载:将配置信息载入到内存中

 

三, 注册: 根据载入的信息, 将对象初始化到IOC容中

你可能感兴趣的:(Spring相关)