Spring面试--IOC的理解

  1. 容器概念: IOC容器实际就是个map(Key,value),里面存的是各种对象(xml里面配置的对象或者是通过注解修饰的对象)在项目启动的时候会读取配置文件里面的bean节点,根据权限类名用反射创建对象放到map里面,扫描到注解的类也是通过反射创建对象放到map里面。
  2. 控制反转: 没有引入IOC容器之前,对象A依赖于对象B,,那么A在初始化或者运行到某一点的时候,自己必须主动去创建B或使用已经存在的对象B,控制权掌握在对象A自己的手上。   在引入IOC之后,对象A和对象B之间失去了联系,对象A运行到需要对象B的时候,IOC会主动创建一个对象B注入到对象A需要的地方。可以看到对象A依赖对象B的控制权交给了IOC容器,从主动变为了被动,这就是控制反转的由来。
  3. 控制反转最大的好处是解耦合全部对象的控制权交给了第三方IOC容器,所以IOC是整个系统的核心,它类似一种粘合剂的作用。使得对象之间失去了彼此之间的联系。
  4. 依赖注入:IOC里面存在各种对象之后,在代码中我们用到里面的对象时,再通过依赖注入(@autowired、@resource等注解,xml里面bean节点的ref属性)给对象里面的属性赋值。
  5. 依赖注入是实现控制反转的方法,在IOC运行期间,动态的将对象注入。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值