IoC/DI summary

下面的笔记根据Java私塾Spring公开视频教程整理并简化(你没看错,已经简化过了,^_^)。

IoC/DI的基本思想

  • 把程序之间的依赖关系去掉
  • 把程序对象设置到IoC/DI容器的配置中,作为Bean
  • 由IoC/DI容器(下面简称容器)来管理Bean的创建、实例化
  • 由容器把Bean之间的关系注入到需要这些关系的对象里面

简而言之,就是把对象之间的依赖关系全部去掉,然后由容器来管理对象之间的依赖关系。

谁控制谁?

  • 容器控制应用程序。

控制什么?

  • 容器控制对象本身的创建、实例化。
  • 容器控制对象之间的依赖关系。

为何叫反转?

  • 因为应用程序不能主动获取外部资源了,而是被动等待容器注入它所需要的资源,所以称为反转。

哪些方面反转了?

  • 创建对象
  • 程序获得资源的方式

为何需要反转?

  • 引入容器之后,体系更为松散,而且管理更加有序
  • 类之间真正实现了松散耦合,使得开发、测试、维护、升级都变得容易了

IoC/DI并没有帮助我们实现任何业务功能,原本该由应用实现的功能,还是应用自身完成。