IOC和DI
IOC
- Inversion Of Controller,控制反转,是一种思想,将对象的创建和管理交由容器来做。
- 对IOC来说,最重要的就是容器了,Spring的设计者提供了两种接口来表示容器
- BeanFactory
- 一种低级容器,通常提供两种功能:注册、获取;不支持Spring的插件,比如aop,Web应用等
- ApplicationContext
- 一种高级容器,继承自BeanFactory,基本替代了BeanFactory的工作。它支持更多的功能,比如:支持不同的消息源头、可以访问文件资源、支持应用事件(Observer模式)。
- BeanFactory
DI
- Dependency Injection,依赖注入,又称注入属性,是IOC的具体实现,需要在创建对象的基础上进行。
IOC、DI与DL的关系
DL:Dependency Lookup,已经被弃用,因为它需要用户调用api进行查找资源和组装对象。