IoC(Inversion of Control ) 控制反转
所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
DI(Dependency Injection)依赖注入
所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。
下面通过一个例子解释:如何开发一个打印机?
打印机功能的实现依赖于 墨盒 和 纸张
xml中的配置分别相当于:
A4Paper a4Paper = new A4Paper();
a4Paper.setName(a4);
ColorInk colorInk = new ColorInk();
对象的创建是由spring.xml负责
然后依赖注入printer