程序员社区

【深入Spring】Spring中IOC和DI的概念

一.什么是Spring_IOC

IOC(Inversion of Control)控制反转,控制反转不是一种新的技术而是一种设计思想,控制反转指的是创建对象的控制权反转了,以前是创建对象的主动权和创建时机是由自己把控的,该对象的依赖对象也需要手动去创建、注入,现在这个控制权交给了Spring容器,由Spring容器去管理,去创建对象,同时对象之间的依赖关系也没有了,他们都依赖于Spring容器,通过Spring容器去建立他们之间的关系;

二.控制-反转 IOC

控制:对象创建的控制权,控制权之前是交给程序员的,依赖对象的创建,注入,都是交给程序员处理

反转:即由容器来帮忙创建及注入依赖对象,因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取方式被反转了。

控制的什么被反转了?获得依赖对象的方式反转了

三.依赖注入(Dependency Injection)  DI

组件之间的依赖关系由容器在运行期间决定,即由容器动态的将某个依赖关系注入到组件中;

依赖注入的目的不在于为软件系统提供更多的功能,它的主要目的在于提升组件重用的频度,并为软件搭建一个灵活,可扩展的平台,通过依赖注入,我们只需要简单的配置,不需要任何代码就可以指定目标的资源,完成自身的业务逻辑,不需要关心具体的资源来自何处有谁实现;

谁依赖谁:当然是应用程序依赖于IoC容器;

为什么需要依赖:因为应用程序需要IOC容器提供对象需要的外部资源

谁注入了谁:很明显是IOC容器注入了应用程序的某个对象,它所依赖的对象

注入了什么:注入了需要的外部资源(包括对象,常量数据,资源)

【深入Spring】Spring中IOC和DI的概念插图
图1-1 传统应用程序示意图

【深入Spring】Spring中IOC和DI的概念插图1
图1-2有IoC/DI容器后程序结构示意图
赞(0) 打赏
未经允许不得转载:IDEA激活码 » 【深入Spring】Spring中IOC和DI的概念

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区