3.什么是Spring IOC 容器?有什么作用?

什么是Spring IOC 容器

控制反转即IoC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对

象组件的装配和管理。所谓的"控制反转"概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。

Spring IOC 负责创建对象,管理对象(通过依赖注入(DI),装配对象,配置对象,并且管理这些对象的整个生命周

期。

对于 IOC 来说,最重要的就是容器。容器管理着 Bean 的生命周期,控制着 Bean 的依赖注入。

控制反转(IoC)有什么作用

  • 管理对象的创建和依赖关系的维护。对象的创建并不是一件简单的事,在对象关系比较复杂时,如果依赖关系
    需要程序猿来维护的话,那是相当头疼的
  • 解耦,由容器去维护具体的对象
  • 托管了类的产生过程,比如我们需要在类的产生过程中做一些处理,最直接的例子就是代理,如果有容器程序
    可以把这部分处理交给容器,应用程序则无需去关心类是如何完成代理的

人话:

作用:

控制反转 控制了什么?

UserService service=new UserService(); // 耦合度太高 、维护不方便

引入Ioc 就将创建对象的控制权交给Spring的Ioc. 以前由程序员自己控制对象创建, 现在交给Spring的Ioc去创建,

如果要去使用对象需要通过DI(依赖注入)@Autowired 自动注入 就可以使用对象 ;

优点: 1.集中管理对象、方便维护 。2.降低耦合度

IOC的优点是什么?

  • 最小的代价和最小的侵入性使松散耦合得以实现。
  • IOC容器支持加载服务时的饿汉式初始化和懒加载。
相关推荐
杨杨杨大侠23 分钟前
DeepSeek Harness:连 Agent Loop 都能替换的插件架构
java·人工智能·agent
SL_staff23 分钟前
私有化低代码运维三重雷区:JVS开源栈中的Kafka/ES/RabbitMQ治理实践
java·低代码·全栈
yuniko-n24 分钟前
【算法】约瑟夫环问题
java·算法
郝亚军33 分钟前
manifest 中 `sha256` 与 `signValue` 的作用
java·开发语言·数据结构
ServBay39 分钟前
DeepSeek 又出王炸,用 DeepInfer 搭建自己的服务是不是很容易?
后端·ai编程·deepseek
譕痕1 小时前
stripe 实例
java·开发语言·stripe·checksession
SatanII1 小时前
K8s 存储与配置管理|Volume、ConfigMap、Secret 核心笔记
笔记·rpc·kubernetes
墨子夕1 小时前
设计模式——Java × Python 双语言精讲 · 23 个经典模式 + 现代演进(前言篇)
java·开发语言·设计模式
骇客野人1 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
唠点键盘之外的1 小时前
29 切片的权限隔离(实战篇):Milvus + Spring AI,从 0 搭一条带权限过滤的检索链路
人工智能·spring·milvus