什么是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中。

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

相关推荐
程序员黑豆10 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
mldong14 小时前
"applicant" 契约:退回发起人的闭环设计
java·架构
月华路14 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
gugucoding15 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
zww894911115 小时前
校园跑腿系统开发实战指南:从需求分析到上线部署全流程解析
java
Fluxart.ai16 小时前
电商商品图审核怎么自动化?规则引擎、人工复核与发布门禁
java·前端·自动化
名字还没想好☜16 小时前
Java 线上内存泄漏排查实战:jmap 导堆、MAT 找 GC Roots 与四类常见泄漏
java·开发语言·jvm·内存泄漏
IT爱学堂18 小时前
尚硅谷 - 2025年3月Java+AI大模型应用开发
java·开发语言·人工智能
小贤plus19 小时前
SpringBoot 三大核心注解精讲:@ControllerAdvice、@RestControllerAdvice、@Validated 分组校验(实战)
java
吠品19 小时前
Java byte数组与String互转:编码细节与踩坑记录
java·linux·服务器