IOC(Inversion of Control):即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
依赖注入,将一个对象的信息注入到另一个对象中。例如,在java中,A类需要引用B类,则A类中创建B类的对象。
class B{
class A{
B b;
public A(B a){
this.b=b;//相当于依赖注入
}
}
而我们在主类中需要用到A类的,而A类依赖B类,我们需要自己创建这些类的对象
public class C(){
public static void main(Stringp[ ]args)
{
B b = new B();
A a = new A(b);//这是我们传统的程序设计,如果采用ioc的思想,我们不需要这样做。请向下看。
}
}
IOC容器:它会帮我们创建A类和B类的对象,并且我们可以从这个容器中获取A类的对象,这样我们降低了程序的耦合度,而且还很方便。因为不需要自己管理和创建这些对象了,自己只需要取得和使用即可。
IOC在生活中的例子,是这样的。在以前,没有商店,我们需要什么东西,都需要自己去制造或者取得。而有了商店,我们需要什么,他们都可以帮我们取得,而不需要我们自己去制造。