什么是Spring IOC

Spring IOC(Inversion of Control)控制反转是将对象的创建权对象之间依赖关系的维护权,从程序员的业务代码中转移到由Spring IOC容器中,程序员就不再手动控制了。

需要说明的是,Spring IOC是一种设计思想 ,不是一个具体的技术 ,Spring IOC 的具体落地实现是通过依赖注入(Dependency Injection) 完成的。

依赖注入的方法有构造器注入setter注入接口注入三种。

那控制反转它控制的是什么呢?

其实就是控制的是对象的创建过程 ,Spring IOC容器会根据配置文件来创建对象。

反转的是什么呢?

反转的是创建对象 并且为这个要创建的对象 注入它所依赖的对象这个动作的主动权

传统开发过程是由程序员主动new一个对象,手动注入依赖,Spring IOC是将这个动作交给容器来自动完成,这样主动权就发生了反转

举个🌰说明一下:

比如对象A依赖对象B,那在创建对象A的代码里,我们就需要写好应该如何创建对象B,只有这样才能创建一个完整的对象A。

但是,反转之后,这个动作就会由Spring IOC容器去触发,容器在创建对象A的时候,发现对象A它依赖对象B,根据配置文件,容器就会创建对象B,然后将对象B注入到对象A中。

这里要注意一下,例子中的是注入一个对象 ,其实还可以注入配置文件中的一个值、集合等等

相关推荐
九转成圣43 分钟前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
直奔標竿1 小时前
Java开发者AI转型第二十七课!Spring AI 个人知识库实战(六)——全栈闭环收官,解锁前端流式渲染终极技巧
java·开发语言·前端·人工智能·后端·spring
金銀銅鐵2 小时前
[java] 编译之后的记录类(Record Classes)长什么样子(上)
java·jvm·后端
野生技术架构师3 小时前
金三银四面试总结篇,汇总 Java 面试突击班后的面试小册
java·面试·职场和发展
小袁拒绝摆烂4 小时前
多表关联大平层转JSON树形结构
java·json
ja哇5 小时前
大厂面试高频八股
java·面试·职场和发展
yoyo_zzm5 小时前
Laravel6.x新特性全解析
java·spring boot·后端
Nick_zcy5 小时前
小说在线阅读网站和小说管理系统 · 功能全解析
java·后端·python·springboot·ruoyi
源码宝5 小时前
基于 SpringBoot + Vue 的医院随访系统:技术架构与功能实现
java·vue.js·spring boot·架构·源码·随访系统·随访管理