spring ioc理论

1、IOC理论

    ioc作为spring的第一个核心概念,我们有必要对其进行深入认识。

    ioc是inversion of controller的缩写,翻译为控制反转。ioc就是由spring ioc容器控制bean对象的生命周期和bean对象之间的依赖关系。

    比如我们有3个对象A,B,C  A依赖B,B依赖C  每次实例化A对象的时候 就得new A()  a对象中new B() ,b对象中new C(),每次使用皆是如此 。我们知道使用A对象的时候,只是使用A对象所提供的服务,并不关系A B C对象是我们自己主动创建的还是已经自己实例好的。自己实例好的对我们而言更加方便。

    在上面的例子中,可以用滴滴打车来形容,在没有打车软件之前,我们打车的时候得自己主动叫车,叫车的这个过程对于我们来说并不关心,只关系能不能打到车。有了打车软件后,我们只需要告诉打车软件,我们需要一辆车就可以了,我们只负责坐车。

    打车软件等第三方服务就类似于spring ioc。原来是需要什么东西自己去拿,现在是由第三方服务给我们送过来。

    ioc有一个别名叫DI(Dependency Injection),即依赖注入。

    有了ioc以后,就可以为被注入对象提供被注入对象,注入方式有如下几种:构造器注入、setter方法注入、反射注入。

    ①构造器注入:

    public A(B b){

        this.b = b

    }

    ② setter方式注入:

    public void setB(B b){

        this.b = b

    }

   反射注入:

    A a = new A();

    Field field = a.getClass().getDeclaredField("b");

    field.setAccessible(true);

    field.set(a, 1);



 date:2019-11-19; qq:981722659;author:wjw

你可能感兴趣的:(spring ioc理论)