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 方法。
相关推荐
西元.4 分钟前
线程等待与唤醒的几种方法与注意事项
java·开发语言
栗筝i7 分钟前
Spring 核心技术解析【纯干货版】- XVI:Spring 网络模块 Spring-WebMvc 模块精讲
java·网络·spring
落榜程序员13 分钟前
Java基础-25-继承-方法重写-子类构造器的特点-构造器this的调用
java·开发语言
Debug 熊猫15 分钟前
【Java基础】10章、单例模式、final关键字的使用技巧和使用细节、单例模式-懒汉式、单例模式-饿汉式【3】
java·javascript·后端·单例模式
shaoweijava15 分钟前
基于SpringBoot的求职招聘网站系统(源码+数据库)
java·spring boot·mysql·spring
forestsea20 分钟前
Java 应用程序CPU 100%问题排查优化实战
java·开发语言
学习同学27 分钟前
C++进阶知识复习 1~15
java·开发语言·c++
凭君语未可28 分钟前
详解Maven的主要生命周期
java·log4j·maven
bing_15842 分钟前
JVM 类加载器在什么情况下会加载一个类?
java·jvm
冬天vs不冷2 小时前
EasyExcel导出自动回显中文,读取自动转换码值(基于全局转换器与自定义注解)
java·excel