【Spring】IoC概述

Spring框架的核心概念——IoC

IoC

IoC是Inversion of Control的简写,翻译成汉语就是“控制反转”。IoC并不是一门技术,而是一种设计思想,在Spring中实现控制反转的是IoC容器,其实现方法是依赖注入(Dependency Injection,DI),DI是实现IoC的一种方法。

在没有IoC设计的场景,没有IoC的程序,我们使用所需的对象时,需手动创建各种对象,对象的创建与对象间的依赖关系完全硬编码在程序中。

有了IoC这样的设计思想,在开发中,意味着将设计好的对象交给容器管理(没有IoC,对象的创建由程序自己控制,有了IoC后将对象的创建转移给第三方),而不再是像传统的编程方式中,在对象内部直接控制对象。

如何理解IoC呢?把握好两块:控制、反转。

1、控制:由谁控制,控制了什么?

由谁控制,由IoC容器来控制,控制了什么?控制了对象

没有IoC的程序中 , 我们使用面向对象编程 , 我们直接在某个对象内部通过new关键字创建另一个对象,是我们主动去创建依赖对象;而IoC的设计思想,是通过专门的对象容器来创建和维护对象。

控制 : 谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的

2、反转:什么是反转,反转了哪些方面?

扫描二维码关注公众号,回复: 8816494 查看本文章

什么是反转,容器帮开发人员创建依赖对象,对象只是被动地接受依赖对象,对象的控制权不再是开发人员,而是容器;

反转了哪些方面?开发人员需要依赖的对象被反转。

在传统Java应用程序开发中,由开发人员在对象中主动控制其需要的依赖对象;而反转则是把对象依赖的过程颠倒了,即开发人员不再控制其依赖对象,而是由容器来帮助开发人员创建其需要的对象。

反转 : 程序本身不创建对象 , 而变成被动的接收对象 .

IoC的概念,IoC——控制反转,将对象的创建转移给第三方,即对象的控制权转移了,从开发人员转移到对象容器了。控制反转就是获得依赖对象的方式反转了。

IoC是Spring框架的核心内容,使用多种方式完美的实现了IoC,可以使用XML配置,也可以使用注解,新版本的Spring也可以零配置实现IoC。采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。

Spring容器在初始化时先读取配置文件,根据配置文件或元数据创建与组织对象存入容器中,程序使用时再从Ioc容器中取出需要的对象(容器中获取Bean)。

container magic


控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是IoC容器,其实现方法是依赖注入(Dependency Injection,DI)。

参考资料

1.Spring 5企业级开发实战/周冠亚,黄文毅著.—北京:清华大学出版社,2019

2.Spring:概述、IOC理论-秦疆-–https://www.bilibili.com/video/av71110355

发布了48 篇原创文章 · 获赞 6 · 访问量 6562

猜你喜欢

转载自blog.csdn.net/qq_41569732/article/details/103962388
今日推荐