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 方法。
相关推荐
逸Y 仙X16 小时前
文章二十四:Elasticsearch查询排序应用实战e
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
aXin_ya17 小时前
微服务 第十天 (Redis多级缓存)
java·redis·微服务
逸Y 仙X17 小时前
文章二十五:ElasticSearch 分页查询
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
ch.ju17 小时前
Java programming(The third edition) Chapter Two——Null return value
java·开发语言
1.14(java)17 小时前
Spring事务和事务传播机制
java·数据库·spring
AI人工智能+电脑小能手17 小时前
【大白话说Java面试题】【Java基础篇】第34题:String、StringBuffer和StringBuilder的区别是什么
java·后端·面试
晓庆的故事簿17 小时前
JAVA搭配RabbitMQ使用
java·rabbitmq·java-rabbitmq
折哥的程序人生 · 物流技术专研17 小时前
第3篇:为何要配置环境变量?
java·开发语言·后端·面试
渔民小镇17 小时前
4 行代码接入 Spring —— ionet 的生态融合之道
java·服务器·分布式·游戏
@杰克成18 小时前
Java学习22
java·python·学习·idea