..
'S 控制 (IOC) 反转是一个框架,它通过移动应用程序的流量控制框架本身的典型特征。
让我们以一个例子来说明这个概念:如果你创建一个GUI通过API 摆动 ,程序员只需要实现由用户触发的事件,比如按下一个按钮或输入文字,处理程序。 框架是留给应用程序流控制,如关闭和打开窗户。
这种行为被称为IoC的, 因为控制是由开发商提出的框架。
一旦国际奥委会清楚,我们看到它是如何在Spring中使用。
所有的应用程序的对象包括达到预定的目标,必须相互合作,必然形成依赖。
通常情况下解决这些依赖关系的代码,它是为配置(通常是制造商)合适。
假设我们要实现一个音像店管理类:
it.mrwebmaster包;
进口java.util.ArrayList;
进口的java.util.List;
{公共类VideoManager
私人DvdService dvdService;
公共VideoManager(){
超级();
/ **
*配置和依赖的决议
* /
this.dvdService DvdServiceImpl =新();
}
<DVD> getAvalaibleDvdList公开名单(){
/ **
*检索DVD列表
* /
名单<DVD> dvdList dvdService.getDvdList =();
/ **
*循环通过DVD来查找列表
*这些可用
* /
目录=新的ArrayList <DVD> availabeDvdList <DVD>();
为(DVD DVD:dvdList){
如果(dvd.isDisponibile()){
availabeDvdList.add(DVD);
}
}
availabeDvdList回报;
}
}
在这个例子中类VideoManager具有收回非出租DVD列表的任务。 这份名单是检索使用的服务(DvdService)检索所有的DVD名单,名单上的循环是DVD获得。 类VideoManager,因此,具有对对象DvdService,这是在构造解析的依赖。

如果我们没有使用Spring,我们应该不必担心解决在类构造dipendeza VideoManager,因为依赖将由弹簧解决。
在春天,然后,国际奥委会是用来反转在配置依赖关系的控制。
由于这个原因,它是由Martin Fowler的创造,在他著名的文章中,长期依赖关系注入 (DI),这是有时被用作同义词IoC的ID不正确。
对DI的基本概念是有一个单独的对象做依赖解析和初始化。
下面的汇编类,有任务来初始化类DvdService:

有三种类型的依赖关系注入:
| |
Linux操作系统(课程)
完整指南开源系统。 从49€。 |
| |
PHP(课程)
全部课程用于创建动态Web站点。 从49€。 |
| |
Ruby和Ruby on Rails的(课程)
创建Ruby和RoR的软件和Web应用程序。 从39€。 |