控制反转IOC与依赖注入DI的区别和理解

一、定义

1、依赖注入(Dependency Injection)

当某个java 实例需要另一个java实例时,创建被调用者的工作不是由调用者实现,而是由spring容器来完成,然后注入调用者,因此称为依赖注入。

2、控制反转(Inversion of Control,英文缩写为10C)

把创建对象的权利交给容器,对象的实例不再由调用者来创建,而是由容器来创建,容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移带了容器,控制权发生了反转,这就是控制反转。它是spring框架的核心思想之一。

二、理解

控制反转和依赖注入本质是一种通过容器创建存储调用实例的技术的不同角度描述;
1、控制反转是从创建对象的控制权的角度描述的,由以前的调用者创建被调用者实例,控制权在调用者,而现在由Spring容器去创建,控制权反转交给容器;
2、依赖注入是从调用的方式上描述,是控制反转的一部分(控制反转包括依赖注入(DependencyInjection,简称DI)和依赖查找(Dependency Lookup)),以前,是通过调用者去创建实例实现依赖,现在通过Spring容器创建后,由spring容器实现对象的依赖,注入是描述Spring容器对这一实现依赖行为的抽象;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值