前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring之IOC篇章详解

Spring之IOC篇章详解

作者头像
MickyInvQ
发布2020-09-27 10:36:38
3480
发布2020-09-27 10:36:38
举报
文章被收录于专栏:InvQ的专栏

专题一 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管理了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015/06/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档