Spring IOC 指南

Spring IOC 指南

Spring IOC 指南

典型回答

1、IOC(inversion of control),"控制反转"
  • 何为控制反转?

    在传统的程序设计中,应用程序代码通常控制着对象的创建和管理。

    在 IOC 中,控制关系发生了反转。控制权被转移到 Spring 容器中,容器负责创建和管理对象,并在需要的时候将它们注入到应用程序中。

    IOC 只是一种思想和理念,可以有不同的实现方式。

    参考:控制反转(IOC)

  • 在 Spring 的 IOC 中,对象由 IOC 容器创建并管理,我们只需要在使用的时候从容器中获取就行了。

  • 没有 ioc 时

  • 有了 ioc 后
2、IOC 的优点
  1. 使用者不用关心引用 bean 的实现细节。
  2. 不用为创建多个相同的 bean 导致浪费。
  3. 对于 Bean 的修改,使用方无需感知。
3、Spring IOC
java 复制代码
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// 直接使用 getBean 获取对象
Student student123 = context.getBean("student123", Student.class);
4、Spring IOC 如何实现?
  1. 创建一个新的 AnnotationConfigApplicationContext,扫描给定包中的 Bean 定义并自动刷新上下文。
  2. 获取指定 Bean 的一个实例。
  3. 调用 Bean 方法。
相关推荐
KhalilRuan5 分钟前
HybridCLR的底层原理
java·开发语言
源码站~7 分钟前
基于Spring Boot+Vue3的烹饪交流学习系统 设计与实现
java·vue.js·spring boot·后端·mysql·毕业设计·毕设
jinanwuhuaguo11 分钟前
OpenClaw办公人员核心技能深度培训体系:从认知重塑到数字组织构建的全链路实战指南
java·大数据·开发语言·人工智能·openclaw
zihao_tom13 分钟前
Spring Boot 整合 Druid 并开启监控
java·spring boot·后端
不会写DN16 分钟前
Protocol Buffers(.proto)实战入门:Go 生态最常用的接口定义语言
java·前端·golang
lifallen17 分钟前
Flink Agents:从 DataStream 到 Agent 算子的接入与装配
java·大数据·人工智能·python·语言模型·flink
oYD3FlT3217 分钟前
MyBatis-缓存与注解式开发
java·缓存·mybatis
空空潍18 分钟前
Spring AI 实战系列(十):MCP深度集成 —— 工具暴露与跨服务调用
数据库·人工智能·spring
Arya_aa20 分钟前
Web基础+JavaEE+容器
java·java-ee
Yiyi_Coding26 分钟前
Proxy详解
java·前端·javascript