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 方法。
相关推荐
wangchunyu11413 分钟前
JDK8新特性实战(Lambda、Stream、Optional)
java·开发语言
JosieBook24 分钟前
【多线程】两台机器同时抢一个字典:一次并发 Bug 的排查
java·网络·bug
牛战士coding28 分钟前
LLM 选错工具怎么办?提示词之外还需要确定性规则兜底
java·人工智能
今天的砖头有点烫手啊30 分钟前
Java 序列化到底怎么选?从 Serializable 到 Protobuf 的演进与选型
java·json
Wang's Blog32 分钟前
Java 项目实战: 交友项目 - 登录发送验证码的测试验证与经验复盘
java·开发语言·交友
夕除42 分钟前
redis--主从还是集群,内存
java·spring·mybatis
百数平台1 小时前
低代码安全技术实践:表单 / 流程 / 报表三级权限体系设计解析
java·大数据·数据库
白露与泡影1 小时前
Spring Boot 实现验证码:Hutool-captcha、AJ-Captcha、EasyCaptcha 到底怎么选?
java·spring boot·后端
马优晨1 小时前
Java中的dto是什么
java·开发语言·java中的dto是什么·java的dto是什么·dto在java中是什么
小蒜学长1 小时前
基于Springboot+Vue的高校教师教学业绩综合管理系统的设计与开发(代码+数据库+LW)
java·数据库·spring boot·后端·教学业绩管理·三级权限