Kako odvisnost injekcija deluje spomladi?

Dependency Injection

Pregled

injiciranje Spring fižol je popularno znan tudi kot "Odvisnost Injection (DI)’. Srce okviru spomladanskega je "Obrat Of Control (IOC)’ in DI je del izvajanja MOK. Bomo začeli našo razpravo s predpostavko, da je koncept in namen MOK in DI že veste.

In this article, se bomo osredotočili na različne vrste injekcij Spring fižola z nekaterimi praktičnimi primeri kodirnih.








odvisnost Injection

Spring fižol injekcije se lahko izvede v dveh glavnih načinov, ena je znan kot temelji gradnika DI in druga je znan kot DI temelji Setter. V naslednjih podpoglavjih bomo preverili, kako se to lahko doseže.

Konstruktor Based DI

V DI, ki temelji gradbenik, Odvisnosti se vbrizga skozi konstruktorji. Vsak argument konstruktorja je odvisnost objekt / fižol. Posoda Spring sklicuje gradbenikom z argumenti.

Dovolite nam, preverite, en primer. Obstajata dva razreda, one is the Država razred in druga je Država Razred. The Država razred ima odvisnost od Država Razred. So, bomo mimo odvisnosti na Država Razred prek svojega konstruktorja (as shown below).

Listing 1: razred država

paket com.techalpine.spring;

javni razred Country {

zasebna država state;

javno Država(država stanje) {

Println(“Inside Država konstruktorja.” );

this.state = state;

}

public void stateName() {

state.stateName();

}

}








Now, ta odvisnost se lahko uporablja za klic različne metode.

Sledi Država Razred delčke kode.

Listing 2: država razred

paket com.techalpine.spring;

Državni javni razred {

javno država(){

Println(“Znotraj države konstruktorja.” );

}

public void stateName() {

Println(“Inside imenu države: West Bengal”);

}

}

Sledi konfiguracijske datoteke XML za žico tiste fižol in njihove odvisnosti. Fižol id ("StateBean") of the Država Razred se uporablja kot referenco gradbenik argument v Država Definicija razreda fižol. Now, fižol so opredeljeni in žično skupaj.

Listing 3: konfiguracijske datoteke XML

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

<fižol 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”>

<!– Opredelitev Država bean –>

<fižol id =”countryBean” class =”com.techalpine.spring.Country”>

<-Konstruktor arg Sodnik =”stateBean”/>

</fižol>

<!– Opredelitev državne bean –>

<fižol id =”stateBean” class =”com.techalpine.spring.State”>

</fižol>

</fižol>

Sledi glavni razred test, ki temelji na konstruktorja injekcijo fižol.

Listing 4: Glavna vloga datoteka

paket com.techalpine.spring;

import org.springframework.context.ApplicationContext;

uvoz org.springframework.context.support.FileSystemXmlApplicationContext;

javni razred TestBeanInjection {

public static void main(String[] args) {

ApplicationContext context = novo FileSystemXmlApplicationContext(

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

Država countryobj = (Država)context.getBean(“countryBean”);

countryobj.stateName();

}

}








Now, teči razred kot samostojno aplikacijo in se bo pokazalo naslednji izhod v konzoli.

Znotraj države konstruktorja
Inside Država gradbenikom
Inside imenu države: West Bengal

Kompleti Baze DI

V DI, ki temelji Setter, Odvisnosti so šli skozi setter metode. Spring posoda sklicuje na te setter metode za sprožajo fižol. Here, mehanizem in sestavni deli so skoraj podobne konstruktor temelji DI. Edina razlika je,, pri prehodu odvisnosti in konfiguracije XML. V injiciranje, ki temelji setter, <nepremičnine> Oznake se uporabljajo namesto <Konstruktor-arg> tag.








Zaključek

V tem članku smo pojasnili načine, kako se lahko vbrizga pomladne fižol. Ni pravila jasna, kdaj uporabiti DI setter temelji ali gradbenik, ki temelji. Na splošno gre za gradbenika, ki temelji DI ko so odvisnosti obvezna, in izberite temeljijo na setter DI ko so odvisnosti neobvezno. Vendar pa so iz kombinacije obeh dovoljeno tudi.

 

Tagged on: , ,
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share