Spring Ioc

本文介绍了Spring的IOC(控制反转)概念,包括依赖倒置原则的解释,如何降低类之间的耦合,以及依赖注入作为IOC的实现方式。通过IOC,Spring容器负责对象的创建和管理,使得代码更易于维护和扩展。
摘要由CSDN通过智能技术生成

目录

Spring Ioc

基础概念(什么是IOC)

1.依赖倒置

2.控制反转(IOC)

3.依赖注入

为什么要用到IOC

Spring中IOC是如何实现的

Spring Ioc

基础概念(什么是IOC)

1.依赖倒置

依赖倒置是指一种特定的接耦形式。通常来说依赖倒置会使高层的类不依赖底层次的类的具体实现,依赖的关系被反转过来,由底层次的类去依赖于高层次的类所需要的需求的抽象(接口)

举一个例子:

现在有一个数据源的类 Datasource,同时还有一个类MysqlConnect,MysqlConnect作为Datasource类的一个成员变量,此时相当于是Datasource对象依赖MysqlConnect对象,假如现在系统都是使用mysql作为数据库的话,那么现在的设计完全可以实现,没有任何问题。

现在我们提出一个假设,如果这个时候要把数据库改成redis呢?那Datasource类是不是有需要依赖一个新的RedisConnect类?这样的话每一次来新的需求我们都需要修改Datasource类,这个类根本就没办法复用,因为他的实现是依赖于下次对象的,只有确定了下层对象才能确定他自己。这样的设计类于类之间的耦合过于紧密

为了解决上面的问题,这个时候我们让MysqlConnect和RedisConnect都去实现一个抽象接口,而上层的Datasource类则依赖于这个抽象接口,这个时候无论下层接口怎么改变,对于上层来说都是一样的,上层只依赖于抽象接口,同时下层对象依赖于这个抽象接口,上层对象不再依赖于具体的下层对象了,依赖关系进行了反转,现在是由下层对象对于上层对象所需需求的抽象进行依赖了,这样子高层类和底层类之间进行了解耦,更容易拓展。

2.控制反转(IOC)

控制反转是一种设计思想,指的是将控制权利反转,这里的控制权指的就是对象的控制权,反转指的是将类内部创建对象的过程反转给到外部,由外部传入。对于Spring而言就是将对象的创建权利给到IOC容器,让IOC容器创建对象,再让IOC容器注入进来

3.依赖注入

依赖注入是IOC的具体实现方式,就是在外部生成对象以后通过set或者构造方法或者接口传递等方法将外部对象注入的过程

为什么要用到IOC

不使用IOC的情况下,对象的类都由程序员自己来控制,整个类的关联对象这些细节都需要程序猿掌控,项目中有成百上千的类,这样每次使用一个类的时候都需要自己去实例化每一个关联的对象,一层一层往下实例对象,还要弄清楚每一个对象的构造方法的含义,大大的增加了维护的难度。--难以维护和拓展

直接使用new创建对象,耦合性太高,如果下层对象发生改变,整个上层都会产生影响--耦合性太高

Spring中IOC是如何实现的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值