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

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

相关推荐
lendsomething2 小时前
graalvm使用实战:在java中执行js脚本
java·开发语言·javascript·graalvm
烤麻辣烫2 小时前
java进阶--刷题与详解-2
java·开发语言·学习·intellij-idea
期待のcode2 小时前
性能监控工具
java·开发语言·jvm
Chan162 小时前
【 微服务SpringCloud | 方案设计 】
java·spring boot·微服务·云原生·架构·intellij-idea
浪扼飞舟2 小时前
C#(多线程和同步异步)
java·开发语言
hanqunfeng2 小时前
(三十三)Redisson 实战
java·spring boot·后端
2301_780669862 小时前
字符集及其编码、解码操作、IO流分类
java·开发语言
计算机毕设指导62 小时前
基于微信小程序的运动场馆服务系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
冰暮流星2 小时前
javascript的switch语句介绍
java·前端·javascript