Spring之IOC篇章具体解释

本文介绍了控制反转(IOC)的概念及其在软件开发中的应用。详细解释了面向接口编程的优势,并探讨了IOC如何通过依赖注入(DI)实现控制权的转移,从而简化对象创建和依赖管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       专题一   IOC

1.接口以及面向接口编程

a.结构设计中,分清层次以及调用关系,每层仅仅向外(或者上层)提供一组功能接口,各层间仅依赖接口而非实现类这样做的优点是,接口实现的变动不影响各层间的调用。这一点在公共服务中尤为重要。

b.“面向接口编程”中的“接口”。是用于隐藏详细实现。和实现多态性的组件 。

2.什么是IOC

控制反转(inversion of control)。控制权的转移,应用程序本身不负责依赖对象的创建和维护。

而是由外部容器负责创建和维护。(我们不负责对象的创建,由外部(这里指的是spring容器)容器来创建,我们来使用)

  以下是一个spring 官网的图片来说明这个关系。

    


实现IOC的方法:DI(依赖注入,dependency injection)是其(控制反转IOC的)一种实现方式。所谓依赖注入,就是由IOC容器。在执行期间,动态的将某种依赖关系注入到对象之中。


IOC的目的:创建对象而且组装对象之间的关系。这个怎么理解呢?在初始化的时候,会创建一系列的对象。同一时候它可以把对象之间的这样的依赖关系通过注入的方式组织起来。

究竟是什么被反转了,Martin Fowler经过分析,得出了答案,“ 获得依赖对象的过程被反转了”,获得依赖的过程由自身管理,变成了由IOC容器主动注入。

接下来我们进行生动形象的描写叙述IOC,我们将IOC与房屋的中介做一个比喻:

房屋中介: IOC

1.找中介 1.找IOC容器

2.中介介绍房子 2.容器返回对象

3.租房,入住 3.使用对象


spring 中的对象叫做  bean

自从有了IOC之后:

不必自己创建对象,由于IOC机制已经提供了。

面向接口编程。IOC隐藏了实现

不用再管理对象了。IOC管理了。













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值