什么是IOC和DI?
- IOC(Inversion of Control)叫控制反转, DI(Dependency Injection)叫依赖注入,是对IOC更简单的诠释。
- IOC 容器:最主要是完成了完成对象的创建和依赖的管理注入等等。
- 所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来 帮忙实现。 那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的 对象与对象的关系。这 个描述最具体表现就是我们可配置的文件。
- 对象和对象关系可以用xml、properties文件等配置文件表示
描述对象描述的文件存放在哪里?
可能是 classpath , filesystem ,或者是 URL 网络资源, servletContext 等。
简单地说
- IOC(控制反转)是把对象创建交给Spring进行配置
- DI(依赖注入)是向类里面的参数设置值,不能单独存在,需要在IOC(控制反转)的基础上完成操作