IOC/DI的总结

IOC/DI
( IoC 和  DI 它们都是对控制反转概念的不同角度描述.)

(1)IOC是什么?
1.IOC(Inversion Of Control 控制反转,不是什么技术,而是一种设计思想.)
Bean:
- 所有可以被spring容器实例化并管理的java类都可以称为Bean.
IOC容器:
- Spring IoC容器目的就是管理Bean,这些Bean将根据配置文件中的Bean定义进行创建;
(它就是一个专门用来创建对象的工厂,你要什么类的对象,它就给你主动实例化创建该类对象)
- 对象之间的依赖关系由IOC容器来建立.


2.为何是反转?
- 有反转就有正转,传统创建对象是由我们自己在new对象中主动控制去直接获取依赖对象,从而导致类与类之间高耦合,
     也就是正转,;
- 而现在创建对象的控制权转移到IOC容器,IOC容器主动帮我们查找并将依赖对象传递注入给被依赖对象;
     被依赖对象只是被动的接受依赖对象传递,而无需自己主动new,所以是反转.


3.IoC容器工作原理?(xml配置方式)
- a.在.xml配置文件中声明Bean定义也就是为Bean配置元数据.
- b.由IoC容器进行解析元数据: IoC容器的Bean Reader读取并解析配置文件,
          根据定义生成BeanDefinition配置元数据对象,IoC容器根据BeanDefinition进行实例化、配置及组装Bean.
- c.实例化IoC容器:由客户端实例化容器,获取需要的Bean.

4.IOC最大的好处是什么?
- 因为把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变成很简单,只要修改XML就可以了.
- 代码中的每一个Class都可以单独测试,彼此之间互不影响,只要保证自身的功能无误即可.


( 2)DI是什么? (Dependency Injection 依赖注入---IOC的别名)
(被注入对象依赖IoC容器配置依赖对象)
- 系统运行中,IoC容器动态的向某个对象提供它所需要的其他对象.

- 容器通过调用set方法或者构造器来建立对象之间的依赖关系.
注: IOC是目标,DI是手段.


(3)依赖注入的两种方式
1)set方法
step1: 为类添加set方法.
step2: 在配置文件当中,使用<property>元素来配置依赖注入.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值