java面试IOC

本文详细介绍了Spring的IoC(控制反转)概念,包括依赖查找和依赖注入的区别,以及Spring如何通过BeanFactory和ApplicationContext实现IoC。重点讲解了Spring的低级容器BeanFactory和高级容器ApplicationContext的功能差异,以及IoC的初始化过程,强调了依赖注入的实现机制。同时,文章指出,虽然ApplicationContext提供了更多高级功能,但IoC核心功能在BeanFactory即可实现。
摘要由CSDN通过智能技术生成

广义的 IOC

  1. IoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”。

两种实现: 依赖查找(DL)和依赖注入(DI)。

IOC 和 DI 、DL 的关系(这个 DL,Avalon 和 EJB 就是使用的这种方式实现的 IoC):

  1. DL 已经被抛弃,因为他需要用户自己去是使用 API 进行查找资源和组装对象。即有侵入性。
  2. DI 是 Spring 使用的方式,容器负责组件的装配。

注意:Java 使用 DI 方式实现 IoC 的不止 Spring,包括 Google 的 Guice,还有一个冷门的 PicoContainer(极度轻量,但只提供 IoC)。

Spring 的 IoC

Spring 的 IoC 设计支持以下功能:

  1. 依赖注入
  2. 依赖检查
  3. 自动装配
  4. 支持集合
  5. 指定初始化方法和销毁方法
  6. 支持回调某些方法(但是需要实现 Spring 接口,略有侵入)

其中,最重要的就是依赖注入,从 XML 的配置上说, 即 ref 标签。对应 Sp

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值