-
时海
控制反转(IOC)是把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。 所谓的“控制反转”就是对组件控制器的转移,从程序代码本身转移到了外部容器,由容器来创建对象并管理对象之间的依赖关系。
-
1、依赖注入(DI)是对控制反转(IOC)的更准确的描述,即组件之间的依赖关系由容器在运行期决定,即由容器动态的将某种依赖关系注入到组件之中。依赖注入(DI)的基本原则是应用组件不应该负责查找或者其他依赖的写作对象。配置对象的工作应该由容器负责,查找资源的逻辑应该从应用组件的代码中抽取出来,交给容器来完成。 2、举个例子:一个类A需要用到一个接口B中的方法,那么就需要为类A和接口B建立关系或者是依赖关系,最原始的方法是在列A中创建一个接口B的实现类C的实例,但这种方法需要开发人员自行维护两者的依赖关系,也就是说当依赖关系发生变动的时候需要修改代码并重新构建整个系统.如果通过一个容器来管理这些对象以及对象的依赖关系,则只需要在类A中定义好用于关联接口B的方法(构造器或者setter方法),将类A和接口B的实现类C放入容器中,通过对容器的配置来实现二者的关联。 3、依赖注入可以通过setter方法注入(设置注入)、构造器注入和接口注入三种方式实现,spring支持setter注入和构造器注入,通常是由构造器注入来注入必须的依赖关系,对于可选的依赖关系,则setter注入是更好的选择。setter注入需要类提供无参构造器或者无参的静态工厂来创建对象。
上一题:什么是控制反转(IOC)?
下一题:IOC有什么优点
标签: 注入、依赖、setter、容器、构造
笔试题
刷题
简历模板
AI算法
大数据
内推
内推: