sprinng---IOC

What:什么是IOC 控制反转

Why:为什么IOC

When :什么时候使用IOC

How:怎么用?


1.先来看控制反转:

    控制反转(Inversion of Control),是一个重要的面向对象编程法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心beans

  理解一:将组件对象的控制权从代码本身转移到外部容器()

  理解二:IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器(spring容器)控制,实际就是你在xml文件控制,侧重于原理

IOC原理:

在业务代码中不使用我们之前司空见惯的关键字new来构建一个业务实例,而是在配置文件中。通过xml节点来告知容器如何对内存中构建的对应类型的对象名称做命名


 2.再来看:DI依赖注入(Dependency Injection)

  DI依赖注入:说的是创建对象实例时,为这个对象注入属性值其它对象实例,侧重于实现。

  两者关系它们是spring核心思想的不同方面的描述。 (重点)


 3.DI 和 IOC 详细阐述
    首先,DI和IOC是差不多的概念。 一个重要特征是接口依赖,是把对象关系推迟到运行时去确定. 
    DI是一个初始化实例的过程,分为三种1.setter based 2.constructor based 3.interface based,spring 中就是应用前两种;但又不仅仅是初始化实例,而且是运用接口的概念去实现这种注入依赖。静态地看,只是依赖一个接口,但实际运行起来,是依赖一个实现了该接口的具体类。

 
IOC就是面向接口编程的应用 
1).一个通常的做法(非面向接口编程的方法),对象A依赖对象B,B会作为A的属性,可以理解为A直接控制B; 
2).IOC的做法,对象A依赖于接口C,而不直接依赖于实现了接口C的B,也就是A不能直接控制是哪个具体实现了C的B去做相应的事情,而是由我们控制可以由哪个实现了接口C的B去处理,也就是控制反过来了,是由B来决定了,而不是由A,实现就是面向接口编程。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值