Wstrzyknięcie zależności lub MKOl to podstawowa koncepcja frameworka sprężynowego, która pomaga w zarządzaniu obiektami fasoli w aplikacji. Wstrzyknięcie zależności lub DI, jak sama nazwa wskazuje, zarządza obiektami zależnymi i sprawia, że nasz kod jest luźno sprzężony.
Na przykład aplikacja sprężyna może zbudować kilka modułów zależnych od siebie, aby utworzyć w pełni funkcjonującą aplikację. Obiekty zależne muszą zapewnić swoją instancję w czasie wykonywania, a także aplikacja może się zepsuć. Tak więc, jako ramy, Spring obsługuje tę sytuację i zapewnia obiekty fasoli w czasie wykonywania.
MKOl (inwersja kontroli) wykonuje to zadanie, tj.mi., wstrzykuje zależności podczas tworzenia fasoli. Jest to główny kontener, który tworzy, konfiguruje, zarządza obiektami, a nawet zarządza całym cyklem życia obiektu.
Spring DI jest głównie klasyfikowane jako Oparte na konstruktorze Wstrzyknięcie zależności i a Setter Wstrzyknięcie zależności.
W tym artykule będziemy Najpierw dowiedz się o konstruktorze wstrzyknięcie zależności i przejście do settera w następnym temacie.
Zacznijmy od sprężynowej aplikacji opartej na Maven, która zawiera następujące pliki Java i Config.
// Pracownik.Jawa
Jest to prosta klasa fasoli, która zawiera dwie właściwości i metody setter-getter.
Pakiet com.Linuxhint.fasolki;
import org.SpringFramework.stereotyp.Część;
@Część
Pracownik klasy publicznej
private int id;
Prywatna nazwa ciągu;
Public String getName ()
Nazwa powrotu;
public void setName (Nazwa ciągu)
Ten.Nazwa = nazwa;
public int getId ()
Zwrot;
public void setid (int id)
Ten.id = id;
// Menadżer projektu.Jawa
Tutaj stworzyliśmy kolejną fasolę, która zawiera niektóre metody Getter-Setter, a ważną kwestią jest obserwowanie konstruktora ProjectManager (), który działa jako DI oparty na konstruktor. Tworzy obiekt fasoli klasy pracowników podczas ładowania do kontekstu aplikacji.
Pakiet com.Linuxhint.fasolki;
import org.SpringFramework.stereotyp.Część;
@Część
Klasa publiczna ProjectManager
Pracownik prywatnego;
public ProjectManager (pracownik pracujący)
Ten.pracownik = pracownik;
public void setinfo (int id, nazwa ciągu)
pracownik.SETID (id);
pracownik.setName (nazwa);
Public String getInfo ()
return „id =”+pracownik.getId ()+”\ nname =„+pracownik.getName ();
// SpringApp.Jawa
To jest główna klasa, która ładuje SpringConfig. Tutaj zastosowaliśmy metodę getBean (), aby uzyskać obiekt klasy ProjectManager. Następnie ustawiamy i otrzymujemy wartości dla tego obiektu.
Pakiet com.Linuxhint;
import org.SpringFramework.kontekst.adnotacja.AnnotationConfigapplicationContext;
import com.Linuxhint.fasolki.Menadżer projektu;
SpringApp klasy publicznej
public static void main (string [] args)
AnnotationConfigapplicationContext AC = new AnnotationConfigapplicationContext (SpringConfig.klasa);
ProjectManager PM = AC.GetBean (ProjectManager.klasa);
po południu.Setinfo (102, „Roman”);
Wynik String = PM.zdobyć informacje();
System.na zewnątrz.println (wynik);
AC.zamknąć();
// SpringConfing.Jawa
To jest klasa konfiguracyjna, która pomaga skonfigurować aplikację. Jest to ważne podczas konfigurowania aplikacji za pomocą adnotacji.
Pakiet com.Linuxhint;
import org.SpringFramework.kontekst.adnotacja.ComponentScan;
import org.SpringFramework.kontekst.adnotacja.Konfiguracja;
@Konfiguracja
@ComponentsCan („com.Linuxhint.*”)
SpringConfig klasy publicznej
// pom.XML
Ten plik zawiera zależności Maven dla projektu wiosennego.
4.0.0 com.Linuxhint SpringApp 0.0.1-Snapshot SpringApp Prosta aplikacja Spring org.SpringFramework Wiosenny rdzeń $ wiosna.wersja org.SpringFramework Kontekst sprężyny $ wiosna.wersja Javax.adnotacja Javax.Adnotacja-API 1.3.2 5.2.8.UWOLNIENIE
Struktura projektu
Po utworzeniu wszystkich plików i kodu nasza struktura projektu pokazano poniżej:
Uruchom aplikację
Teraz uruchom aplikację i musi ona pokazać następujące dane wyjściowe w oknie konsoli:
ID = 102
Nazwa = Roman
Konfiguracja za pomocą kodu XML
Możesz to zrobić, jeśli chcesz skonfigurować aplikację za pomocą kodu XML. Jednak konfiguracja XML jest na to starom mody, ale nadal jest obsługiwana przez Spring Framework. Masz wybór, aby skonfigurować aplikację za pomocą adnotacji XML lub Java.
W przypadku XML musimy tylko utworzyć plik ApplicationContext.XML i przeczytaj to w SpringApp plik klasowy. Twój ApplicationContext.XML Plik musi zawierać następujący kod XML:
// ApplicationContext.XML
xmlns: xsi = "http: // www.W3.org/2001/xmlschema-instance "
xmlns: p = "http: // www.SpringFramework.org/schemat/p ”
XSI: Schemalocation = "http: // www.SpringFramework.org/schemat/fasola
http: // www.SpringFramework.org/schemat/fasola/sprężyna-3.0.xsd ">class = "com.Linuxhint.fasolki.ProjectManager " />
Tutaj znacznik służy do określenia klasy fasoli, a identyfikator określa instancję fasoli. Znacznik określa zależność konstruktora i znacznik do wstrzykiwania obiektu do konstruktora.
Wniosek
W tym artykule dowiedzieliśmy się o wtrysku zależności wiosennej opartej na konstruktorze. Nauczyliśmy się jego konfiguracji za pomocą adnotacji Java i XML obu. Ponieważ jest to podstawowa koncepcja Spring Framework, musisz się tego nauczyć z wyjaśnieniem, który wyjaśniliśmy.