ioc:(invesrion of control) 控制翻转,反转资源获取的方向,传统的资源查找方式要求组件向容器发起请求查找资源,作为回应,容器返回资源。 IOC,容器主动地将资源推送给管理的组件,被动查找。
DI:(dependence injection)ioc 的另一种表述方式,即组件以一些定义好的方式(setter方法)接受来自容器的资源注入。
例如,传统的,
需要将B的A属性设置为a的一个引用
class A{}
class B{
private A a;
public void setA(A a){
this.a=a;
}
}
传统的: A a=getA();
B b=getB();
b.setA(a);
ioc : B b=getB();
这里B的A属性,已经自动的设置好了。
就是由原来的主动说: 我要XXX~
改变为: 爸爸主动给你XXX。。。