IOC

作者: 帅气十里不如你 | 来源:发表于2021-02-15 15:22 被阅读0次
    1. IOC产生的原因:为了解决对象之间耦合度较高的问题。
    2. 什么是IOC:由于之前在开发过程中一个类如果需要调用其它类中的方法或者成员变量,那么就必须实例化一个对象吧,使得对象与对象之间的耦合性提高,一旦实例化对象中的一些方法或者属性被更改或者删除,在运行的时候就会出现编译报错。但是IOC的思想是将对象之间的实例化交给Spring等第三方框架来完成。这样在一定程度上会降低类与类之间的耦合性,若果被实例化的对象中的一些属性被更改或者删除,在编译的时候不会出现报错。
      说白了IOC就是将类与类之间的关联给取消,统一关联到Spring等第三方框架上。IOC意味着将设计好的对象交给容器控制。IOC控制了对象的创建,也就是以前的new交给IOC来完成。
    3. IOC和DI
    4. DI:就是依赖注入,即容器动态的将某个依赖关系注入到组件之中。但是理解DI的关键是:“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”
      • 谁依赖于谁:当然是应用程序依赖于IOC容器;
      • 为什么需要依赖:应用程序需要IOC容器来提供对象需要的外部资源;
      • 谁注入谁:很明显是IOC容器注入应用程序某个对象,应用程序以来的对象;
      • 注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常量数据)

    其实IOC和DI是同一个概念的不同角度描述。

    1. spring是如何实现对类的控制?

      所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

    相关文章

      网友评论

          本文标题:IOC

          本文链接:https://www.haomeiwen.com/subject/ykbpxltx.html