..
Inwersja "S of Control (IoC) jest typową cechą ramy, która porusza się kontroli przepływu przez aplikację do ramy sam.
Weźmy przykład wyjaśnienie pojęcia: po utworzeniu GUI API przez huśtawka , programista tylko musi wdrożyć procedury obsługi zdarzeń wyzwalanych przez użytkownika, takich jak naciśnięcie przycisku lub wprowadzania tekstu. Framework jest pozostawione do kontroli przepływu aplikacji, takich jak zamknięcie i otwarcie okien.
Tego typu zachowanie jest nazywany IoC, ponieważ kontrola jest poruszana przez autora ram.
Skoro to jest jasne, co MKOl, widzimy, jak jest wykorzystywana na wiosnę.
Wszystkie aplikacje składają się z obiektów, które docierają do określonej celem musi współpracować ze sobą, i nieuchronnie tworzą się zależności.
Normalnie te zależności są rozwiązywane przez kod, który jest odpowiedni dla danej konfiguracji (zwykle producent).
Załóżmy, że mamy do wdrożenia klasy do zarządzania sklepem wideo:
pakiet it.mrwebmaster;
import java.util.ArrayList;
java.util.List importu;
{Public class VideoManager
Prywatne dvdService DvdService;
publicznych VideoManager () {
super ();
/ **
* Rozdzielczość konfiguracji i zależności
* /
this.dvdService DvdServiceImpl = new ();
}
GetAvalaibleDvdList <Dvd> publicznych Lista () {
/ **
* Pobiera listę DVD
* /
Lista <Dvd> dvdList dvdService.getDvdList = ();
/ **
* Loop listę DVD znaleźć
* Ci, dostępny
* /
Lista = new ArrayList <Dvd> <Dvd> availabeDvdList ();
do (DVD DVD: dvdList) {
if (dvd.isDisponibile ()) {
availabeDvdList.add (DVD);
}
}
powrót availabeDvdList;
}
}
W tym przykładzie VideoManager klasy ma za zadanie odzyskać listę niewynajętych DVD. Lista ta jest pobierana za pomocą usługi (DvdService), która pobiera listę wszystkich płyt DVD i rowerowych na liście są filmy DVD. VideoManager klasa ma zatem zależność od DvdService obiektu, który został rozwiązany w konstruktorze.

Gdybyśmy nie stosować wiosną powinniśmy się martwić o rozwiązaniu VideoManager dipendeza w konstruktorze klasy, ponieważ zależność zostaną rozwiązane przez Spring.
Wiosną, a następnie, MKOl jest używany, aby odwrócić kontrolę nad zależnościami konfiguracji.
Z tego powodu został ukuty przez Martin Fowler w swojej słynnej artykułu , termin wtrysku Dependecy (DI), który jest czasami nieprawidłowo używane jako synonim id IoC.
Podstawowe pojęcia DI jest mieć oddzielny obiekt do rozwiązywania zależności i inicjalizacji.
Następujące klasy assembler, ma za zadanie zainicjować DvdService klasy:

Istnieją trzy rodzaje Dependecy wtrysku:
| |
Linux (Kurs)
Kompletny przewodnik do systemu open-source. Od 49 €. |
| |
PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Od 49 €. |
| |
Ruby i Ruby on Rails (Kurs)
Tworzenie oprogramowania i aplikacji webowych w języku Ruby RoR. Od 39 €. |