什么是IOC

柔光的暖阳◎ 2023-10-03 22:59 113阅读 0赞

1.什么是ioc

IOC是Inversion of Control的缩写,多数书籍翻译成“控制反转”。

  1996年,Michael Mattson在一篇有关探讨面向对象框架的文章中,首先提出了IOC 这个概念。对于面向对象设计及编程的基本思想

,简单来说就是把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现对外部是透明的,从而降低了解决问题的复杂度,而且可以灵活地被重用和扩展。

IoC的全称是Inversion of Control,翻译过来就是控制反转的意思。以前我们的编码习惯是需要什么对象的时候直接new一个出来就好了,然而有个人突然出来跟我们说以后不需要我们主动去new对象了,我们需要什么对象跟它说它就会为我们准备好,这我们当然是乐意的,这个人就是IoC。控制反转的意思就是我们将对象的创建和管理权交给IoC Service Provider(IoC思想的具体实现)。

IOC (Inversion Of Control,控制倒转),是spring的核心,贯穿始终,所谓IOC ,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。所有的类都会在spring容器中登记,告诉spring你是个什么,你需要什么,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

3f01615dcc4a44e3971813d1fdd03176.png

IOC容器概念

1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理。

2)使用IOC目的:为了耦合度降低

  1. 控制反转:把对象的创建和对象之间的调用过程,从程序员手里转交给Spring进行管理。
  2. 使用IOC的目的:为了降低耦合度

2. IOC的底层原理

xml的解析

工厂

模式反射

IOC(接口) 1)IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

Spring提供IOC容器实现方式:(两个接口)

a.BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用。

** 加载配置获取文件时候不会创建对象,在获取对象(使用)才去创建对象。

b.ApplocationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用。

** 加载配置文件时候就会把在配置文件中的对象进行创建。

3)ApplicationContext接口有实现类

发表评论

表情:
评论列表 (有 0 条评论,113人围观)

还没有评论,来说两句吧...

相关阅读

    相关 什么IOC容器

    .IOC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合,更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与...

    相关 什么 Spring IOC 容器?

    Spring 框架的核心是 Spring 容器。容器创建对象,将它们装配在一起,配置它们并管理它们的完整生命周期。Spring 容器使用依赖注入来管理组成应用程序的组件。容器通

    相关 浅谈 IOC 什么 IOC

    本文以文字为主题,并没有代码案例,仅限于记录自己对于 IOC 的理解,文中也啥特别高深的东西,大牛和大佬可以忽略本文,以免浪费您宝贵的时间 什么是 IOC ?      I