控制反转与依赖注入

spring框架

**

控制反转与依赖注入

**

开门见山,此篇博客将主要来讲讲这个spring框架的IOC与DI

      IOC(Inversion Of Control)即控制反转:是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。

      DI(Dependency Injection)即依赖注入:由容器动态的将某个依赖关系注入到组件之中。

IOC控制反转

简单的说

    IOC是将对象的管理(创建、维护、销毁)交给spring管理,在使用对象的时候将对象给使用方。

还看不懂

那先来看这个


People people = new People();


这个我们经常用到,它是我们实例化对象用到的一句

那么我们IOC和这个实例化有什么关系呢?

我们IOC是把对象的管理交给spring容器,那么就是说,
我们不需要自己手动创建这个对象,配置好程序后,
容器帮我们创建这个People对象,我们直接拿来用就行。

因此

相对于原来的编程,IOC编程少了new People();

这么做有什么用呢?

    我们知道,OOP思想,要我们达到"高内聚,低耦合"。

    IOC把对象的控制权交给容器,由容器进行对象的创建、交付。

    这样做之后,对象与对象之间是松散耦合。我们的测试类和People类的依赖关系就会降低。

    好处:方便测试、利于功能复用、使得程序的整个体系更加灵活。

那么它是如何将控制权反转的呢?详细步骤<—

DI依赖注入(Dependency Injection)

简单的说

    IOC的重点是运行中,动态的向使用者提供需要的对象,这个就是靠DI实现的。

看不懂!!!

我的理解:

    没用IOC编程前,我们使用new关键字来创建对象,创建后,那么我们的测试类和这个实体类就产生了依赖,也就是它们存在一种耦合关系。

    我们IOC编程就是为了降低这种耦合。所以测试类的需求(需要的外部资源)依赖容器的注入(以参数形式)。这里外部资源指实体类。

    所以依赖就不存在与两个类之间,从而达到降低耦合关系的目的。

Spring提供了两种方法来让我们很方便的创造对象

1、配置      2、注解    详细步骤<—

IOC和DI的关系:

    从这里我们基本可以得出,这个依赖注入就是控制反转的一种实现方式。

    这里IOC和DI的角度不同,IOC是从容器的角度描述,DI是从程序的角度描述。

    因此,IOC和DI也可以说是同一件事情的不同描述。

下一篇 》
AOP面向切面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值