Ako závislosť vstrekovanie pracuje na jar?

Dependency Injection

Prehľad

vstrekovanie jarný bean je tiež známa ako "závislosť injekcie (OF)’. Srdcom rámca jar je "Inversion of Control (MOV)’ a DI je realizačná časť MOV. Začneme našu diskusiu s predpokladom, že pojem a účel MOV a DI je už vedia.

In this article, zameriame na rôzne typy Jarná bean injekcií s niektorými praktickými príkladmi kódovacích.








závislosť injekcie

Pružina fazuľa injekcia môže byť vykonaná v dvoch hlavných spôsobov, jeden je známy ako konštruktér na báze DI a druhý je známy ako seter na báze DI. V nasledujúcich odsekoch sa budeme kontrolovať, ako tento cieľ možno dosiahnuť.

Konštruktér Based DI

V DI konštruktor báze, Závislosti sa vstrekuje konštruktérov. Každý argument konstruktoru je objekt závislosť / bean. Kontajner Jarná vyvolá konštruktory s argumentmi.

Poďme zistiť jeden príklad. Existujú dva druhy, one is the Krajina triedy a druhý z nich je stáť trieda. The Krajina trieda má závislosť na stáť trieda. So, minieme závislosť k Krajina trieda prostredníctvom jeho konštruktor (ako je uvedené nižšie).

Listing 1: trieda Krajina

balíček com.techalpine.spring;

public class Krajina {

súkromná State stav;

verejné krajiny(stáť štát) {

System.out.println(“Vnútri Zeme konstruktoru.” );

this.state = stav;

}

public void StateName() {

state.stateName();

}

}








Now, táto závislosť môže byť použitá pre volanie rôzne metódy.

nasledujúce je stáť trieda kúsky kódu.

Listing 2: štátne trieda

balíček com.techalpine.spring;

public class stáť {

verejný stáť(){

System.out.println(“Vnútri štátnej konstruktoru.” );

}

public void StateName() {

System.out.println(“Vnútri názvom Štátna: West Bengal”);

}

}

Nasledujúci text je konfiguračný súbor XML zapojiť tie fazuľa a ich závislosti. bean id ("StateBean") of the stáť trieda je používaná ako odkaz na konštruktor argument vo Krajina Definícia triedy bean. Now, fazuľa sú definované a prepájať.

Listing 3: Konfiguračný súbor XML

<?xml version=”1.0″ encoding=”UTF-8″?>

<fazuľa xmlns =”http://www.springframework.org/schema/beans”

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=”http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.2.xsd”>

<!– Definícia pre Country bean –>

<bean id =”countryBean” class =”com.techalpine.spring.Country”>

<konštruktor-Arg ref =”stateBean”/>

</fazuľa>

<!– Definícia pre štátnu bean –>

<bean id =”stateBean” class =”com.techalpine.spring.State”>

</fazuľa>

</fazuľa>

Nasledujúce je hlavná trieda testovať injekciu fazuľa konstruktoru báze.

Listing 4: Hlavný súbor aplikácie

balíček com.techalpine.spring;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

public class TestBeanInjection {

public static void main(Reťaz[] args) {

ApplicationContext kontext = new FileSystemXmlApplicationContext(

“Webcontent / WEB-INF / beanConfig.xml”);

Krajina countryobj = (Krajina)context.getBean(“countryBean”);

countryobj.stateName();

}

}








Now, spustiť triedu ako aplikácia samostatná a ukáže nasledujúci výstup na konzolu.

Vnútri štátnej konstruktoru
Vnútri Krajina konstruktoru
Vnútri názvom Štátna: West Bengal

Súpravy Základne DI

V DI seter báze, závislosti prechádzajú nastavovacie metódy. Jarné kontajner vyvolá také nastavovacie metódy vytvárania inštancií fazuľa. Here, mechanizmus a komponenty sú takmer podobné konstruktoru založené na DI. Jediný rozdiel je,, v prehliadania závislostí a konfiguráciu XML. V injekcie nastavovač báze, <nehnuteľnosť> Značky sa používajú namiesto <konštruktor-arg> tag.








Záver

V tomto článku sme vysvetlili spôsoby, ako môže byť jarné bôby injekčne. Neexistuje žiadne jednoznačné pravidlo, kedy je treba použiť nastavovač báze alebo konštruktér na základe DI. Sme všeobecne ísť na konstruktoru založené DI, keď sa závislosťou sú povinné, a vyberte seter založené na DI, keď sa závislosťou sú voliteľné. Ale kombinácia oboch sú tiež povolené.

 

Štítky na: , ,
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share