Spring IOC 的理解

什么是IOC?

        提到IOC,我们通常能想到Spring框架,然后就想到三个特性,控制反转,依赖注入(DI),面向切面编程(AOP)。

        IOC就是一个容器,以Map形式的容器(Key,Value)。举个例子来讲,通常我们在开发中,会创建一些Bean对象,写一些注解,而我们写完这些东西之后,它们会存在这个IOC容器中,以键值对形式存入,当我们用时,容器就会通过Key值来获取,供给我们使用。这样来讲就会很好理解。

什么是控制反转?

        简单来说,可以理解为控制权发生了反转。主要对于对象的创建或使用,对象的控制权反转给IOC容器,而不是我们开发者。

        举个例子,没有引入IOC容器之前,对象A依赖于对象B,那么对象A在初始化或者运行到某一刻,自己必须主动去创建对象B,无论是创建还是使用,控制权均在开发者手中。

        引入IOC容器后,对象A和对象B之间失去了直接联系,可以理解为解耦,当对象A需要对象B时,IOC容器会主动创建个B对象,依赖注入给A需要的地方,控制权在IOC上。

        由以上来看,控制权发生了颠倒,也就是所说的反转,这就是控制反转。

依赖注入(DI)

        控制被反转后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入。依赖注入是实现IOC的方法,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值