Com funciona la injecció de dependències a la primavera?

Dependency Injection

Visió de conjunt

injecció de fesol de primavera és també popularment coneguda com "injecció de dependència (D')’. El cor de la infraestructura de Spring és "Inversió de Control (COI)’ i DI és la part de la implementació de la COI. Anem a començar la nostra discussió amb el supòsit que el concepte i el propòsit de la COI i DI és ja coneixen.

In this article, ens centrarem en els diferents tipus d'injeccions de fesol de primavera amb alguns exemples pràctics de codificació.








injecció de dependència

Les injeccions de fesol de primavera es poden realitzar de dues formes principals, un és conegut com DI basat en Constructor i l'altre és conegut com DI basat-Setter. En els següents apartats anem a comprovar com aquests poden ser assolits.

Constructor basat DI

En una DI basat constructor, dependències s'injecten a través de constructors. Cada argument del constructor és un objecte de dependència / fesol. El contenidor de primavera invoca els constructors amb els arguments.

Anem a veure un exemple. Hi ha dues classes, una és la país classe i l'altra és la Estat classe. The país classe té una dependència en el Estat classe. So, anem a passar a la dependència a la país classe a través del seu constructor (as shown below).

Listing 1: classe de país

com.techalpine.spring paquet;

public class País {

Estat Estat privat;

pública País(estat estat) {

System.out.println(“Dins el constructor País.” );

this.state = Estat;

}

Statename public void() {

state.stateName();

}

}








Now, aquesta dependència es pot utilitzar per trucar a diferents mètodes.

A continuació es presenta la Estat fragments de codi de classe.

Listing 2: Estat de classe

com.techalpine.spring paquet;

Estat public class {

estat públic(){

System.out.println(“Dins constructor Estat.” );

}

Statename public void() {

System.out.println(“Dins nom d'Estat: West Bengal”);

}

}

A continuació es presenta el fitxer de configuració XML per cablejar els fesols i les seves dependències. El bean id ('StateBean') of the Estat class is used as a constructor argument reference in the país class bean definition. Now, the beans are defined and wired together.

Listing 3: XML configuration file

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

<beans 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”>

<!– Definition for Country bean –>

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

<constructor-arg ref=”stateBean”/>

</bean>

<!– Definition for State bean –>

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

</bean>

</beans>

Following is the main class to test the constructor-based bean injection.

Listing 4: Main application file

com.techalpine.spring paquet;

importació org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

public class TestBeanInjection {

public static void principal(Cadena[] args) {

ApplicationContext context = new FileSystemXmlApplicationContext(

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

Country countryobj = (país)context.getBean(“countryBean”);

countryobj.stateName();

}

}








Now, run the class as a stand-alone application and it will show the following output on the console.

Dins el constructor Estat
Dins el constructor País
Dins nom d'Estat: West Bengal

Estableix Bases DI

En una DI basat Setter, dependències es passen a través dels mètodes setter. Primavera contenidor invoca els mètodes setter d'executar les faves. Here, el mecanisme i els components són gairebé similar a la DI basat constructor. L'única diferència és, en l'aprovació de les dependències i de la configuració XML. En una injecció a força col·locador, <propietat> etiquetes s'utilitzen en lloc de <constructor-arg> tag.








Conclusió

En aquest article hem explicat les maneres de com poden ser injectats grans de primavera. No hi ha una regla clara quan utilitzar DI col·locador basat o constructor basat. en general, anem a per DI basat constructor quan les dependències són obligatoris, i seleccioneu DI basat en la moda quan les dependències són opcionals. No obstant això, les combinacions de tots dos també se'ls permet.

 

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

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share