Hvernig ánauðar innspýting virkar í Spring?

Dependency Injection

Yfirlit

Vor baun innspýting er einnig almennt þekktur sem "Dependency Injection (OF)’. Hjarta Spring ramma er "Inversion Of Control (IOC)’ og DI er framkvæmd hluti af IOC. Við munum byrja umræðu okkar með þeirri forsendu að hugtakið og tilgang IOC og DI er þegar vita.

In this article, Við munum leggja áherslu á mismunandi gerðir af stungulyf Vor baun með nokkrum hagnýtum kóðun dæmi.








Yfirráðasvæði Injection

Vor baun inndælingu er hægt að framkvæma á tvo mikilvæga vegu, þá er hann þekktur sem Constructor sem byggir DI og hitt er þekktur sem Setter sem byggir DI. Í eftirtöldum liðum munum við athuga hvernig þær geta verið náð.

Framkvæmdaaðila Byggt DI

Í framkvæmdaaðila byggist DI, ósjálfstæði sprautaðar með constructors. Each argument of the constructor is a dependency object/bean. The Spring container invokes the constructors with the arguments.

Let us check one example. There are two classes, one is the Country class and the other one is the State flokki. The Country class has a dependency on the State flokki. So, we will pass the dependency to the Country class through its constructor (eins og sýnt er hér að neðan).

Listing 1: Country class

package com.techalpine.spring;

public class Country {

private State state;

public Country(State state) {

System.out.println(“Inside Country constructor.” );

this.state = state;

}

public void stateName() {

state.stateName();

}

}








Now, this dependency can be used to call different methods.

Following is the State class code snippets.

Listing 2: State class

package com.techalpine.spring;

public class State {

public State(){

System.out.println(“Inside State constructor.” );

}

public void stateName() {

System.out.println(“Inside State name: West Bengal”);

}

}

Following is the XML configuration file to wire those beans and their dependencies. The bean id (‘stateBean’) of the State class is used as a constructor argument reference in the Country 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

package com.techalpine.spring;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

public class TestBeanInjection {

opinber truflanir ógilt aðalæð(Band[] viðföng) {

ApplicationContext context = new FileSystemXmlApplicationContext(

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

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

countryobj.stateName();

}

}








Now, keyra bekknum sem standa-einn umsókn og það mun sýna eftirfarandi framleiðsla á vélinni.

Inni State framkvæmdaaðila
Inni Country framkvæmdaaðila
Inside State name: West Bengal

Setur Bækistöðvar DI

Í Setter byggist DI, ósjálfstæði eru gegnum Setter aðferðum. Vor gámur skírskotar þá fuglahundur aðferðir til að smíða baunir. Here, vélbúnaður og þættir eru nánast svipað framkvæmdaaðila miðað DI. Eini munurinn er, í setningu ósjálfstæði og XML stillingar. Í fuglahundur byggist inndælingu, <eign> tags eru notuð í stað þess <framkvæmdaaðila-arg> tag.








Ályktun

Í þessari grein höfum við útskýrt leiðir hvernig vor baunir er hægt að sprauta. Það er engin skýr regla hvenær á að nota fuglahundur byggt eða framkvæmdaaðila byggt DI. Við fara yfirleitt fyrir framkvæmdaaðila miðað DI þegar ósjálfstæði eru nauðsynlegur, og veldu fuglahundur byggir DI þegar ósjálfstæði eru valfrjáls. En sambland beggja eru einnig leyft.

 

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