Spring 基础:Spring IOC (控制反转)
1. 传统类的依赖
Luggage 依赖 Framework 依赖于 Bottom …
这样一旦Tire出现问题所有都完蛋,或者其中一个出现问题,后面的都完蛋。
他们之间的耦合度太高,那么如何解耦呢?
2. 依赖注入
当我们将Tire改变时,后面所有的类都要被改变。
我们把依赖的类在构造器中注入,使得改变一处,其他地方都不用改变。
3. IOC与依赖注入、依赖查找的关系
DL目前已经被淘汰。目前DI实现IOC是主流的方式。
4. 依赖倒置原则、IOC、DI、IOC容器的关系
依赖倒置原则是一种思想,是高层模块不应该依赖于低层模块,两者都应该依赖于其抽象。
IOC思路来源于依赖倒置原则。通过依赖注入实现IOC。
Spring框架基于IOC提出容器的概念,容器管理着Bean的生命周期,控制着Bean的依赖注入。
5. IOC容器优势
避免在各处使用new来创建类,并且可以做到统一维护(使用XML等配置文件)。
创建实例的时候不需要了解其中的细节。
IOC Container可以隐藏创建实例的细节。
IOC Container像是一个工厂,我们只需要向工厂请求一个实例,因为以前的都有config文件,他可以自己查到解决。
还没有评论,来说两句吧...