IoC/DI summary
下面的笔记根据Java私塾Spring公开视频教程整理并简化(你没看错,已经简化过了,^_^)。
IoC/DI的基本思想
- 把程序之间的依赖关系去掉
- 把程序对象设置到IoC/DI容器的配置中,作为Bean
- 由IoC/DI容器(下面简称容器)来管理Bean的创建、实例化
- 由容器把Bean之间的关系注入到需要这些关系的对象里面
简而言之,就是把对象之间的依赖关系全部去掉,然后由容器来管理对象之间的依赖关系。
谁控制谁?
- 容器控制应用程序。
控制什么?
- 容器控制对象本身的创建、实例化。
- 容器控制对象之间的依赖关系。
为何叫反转?
- 因为应用程序不能主动获取外部资源了,而是被动等待容器注入它所需要的资源,所以称为反转。
哪些方面反转了?
- 创建对象
- 程序获得资源的方式
为何需要反转?
- 引入容器之后,体系更为松散,而且管理更加有序
- 类之间真正实现了松散耦合,使得开发、测试、维护、升级都变得容易了
IoC/DI并没有帮助我们实现任何业务功能,原本该由应用实现的功能,还是应用自身完成。