springIOC的核心原理

一 什么是IOC:

1 何为依赖?在类A(或者说对象a)中,用到了类B(或者说对象b)中的属性/方法,可以称A依赖于B
2 在没有用springIOC之前,若在A中用到B中的属性/方法,我们是通过new B()来创建一个B对象功A调用的。而IOC的出现,使得我们不需要去手动
代码去new这些对象了,而是spring的IOC容器会帮我们实现。
3 IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创
建、依赖的代码,反转给容器来帮忙实现.既然是交给了容器来实现,那么必然的我们需要创建一个容器,同时需要一种描述来让
容器知道需要创建的对象与对象的关系。。这个描述最具体表现就是我们所看到的配置文件。
4 DI(Dependency Injection)依赖注入:就是指对象是被动接受依赖类而不是自己主动去找,换句话说就
是指对象不是从容器中查找它依赖的类,而是在容器实例化对象的时候主动将它依赖的类注入给它。
5 对象和对象的关系,可以用xml,properties 文件等语义化配置文件表示。那描述对象关系的文件存放在可能是classpath,filesystem,或者是URL 网络资源,
servletContext 等。

以下看起来可能有点晕车,要是结合源码看会清晰些。以下可供作为整理思路

二 以上提到依赖对象的创建和注入,都是在容器中实现的,那spring是如何创建这个容器的?

spring IOC容器初始化三部

定位(定位配置文件和扫描相关注解)- 加载(将配置信息载入到内存中)- 注册(根据载入的信息将对象初始化到IOC容器中):
在这里插入图片描述

三springIOC运行时序图

在这里插入图片描述

发布了19 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/P502520/article/details/103859253