..


Sponsede Lenker

Kjerne container - Setter Dependency Injection

Bruken av Constructor Dependency Injection kan føre til opprettelsen av sykliske avhengigheter mellom bønner. For eksempel, hvis A har en utgående meldingshoder må startes på et objekt B, men samtidig objektet B må objekt, du opprette en avhengighet som ikke kan løses med Constructor Dependency Injection.

I slike tilfeller bør du bruke Setter Dependency Injection er svært lik den Constructor men forskjellen ligger i det faktum at avhengigheter er injisert etter at objektet har blitt instansiert. Her er et eksempel:






 public class {Bean2



	

  



 Private GenericService genericService;





  



 public void setGenericService (GenericService genericService) {



    



 this.genericService = genericService;



  



 }





  



 public GenericService getGenericService () {



    



 genericService tilbake;



  



 }



	

  



 / **



   



 * Business logikken .............



   



 * /









 }



nell'applicationContext. xml





 <bean id="setterBean" class="it.mrwebmaster.di.setter.Bean2">



  



 <property name="genericService" ref="genericService" />







 </ Bean>



I tillegg til å løse problemet med den sirkulære dipenze Setter Dependency Injection kan du også konfigurere bønner under kjøring, for disse grunner er det foretrukne til Constructor. Noen skoler tanke, men sier at den gode ville være å bruke entrabe: Constructor for nødvendige avhengigheter og settere for valgfrie deler. Det anbefales å bruke fuglehunden som det er svært sjelden at det er valgfrie avhengigheter.

I tillegg til å bruke basen til OF er det andre funksjoner som Spring tilbyr, for eksempel, kan du injisere tomme strenger eller null felt:






 <- NULL VERDI 1 ->







 <bean id="nullBean1" class="it.mrwebmaster.di.constructor.bean" factory-method="createBean">



  



 <constructor-arg type="java.lang.Integer" value="0" />



  



 <constructor-arg type="java.lang.String" value="" />



  



 <constructor-arg type="it.mrwebmaster.di.constructor.GenericService"> <null/> </ konstruktør-arg>







 </ Bean>









 <- NULL VERDI 2 ->







 <bean id="nullBean2" class="it.mrwebmaster.di.setter.Bean2">



  



 <property name="genericService"> <null/> </ eiendom>







 </ Bean>



Spring tilbyr også en samling av ledelsen typen List, Set, Kart, Egenskaper, og gjennom tag-listen, set, kart og rekvisitter:






 public class {CollectionBean





  



 private List <GenericService> beanList;





  



 Private Properties beanProps;





  



 Private <streng> beanSet september,





  



 private Kart <Integer, STRING> beanMap;





  



 / **



   



 * Business logikk ......................



   



 * /



	

  



 <GenericService> GetBeanList public List () {



    



 beanList tilbake;



  



 }





  



 offentlige Kart <Integer, STRING> getBeanMap () {



    



 beanMap tilbake;



  



 }





  



 getBeanProps public Properties () {



    



 beanProps tilbake;



  



 }





  



 <streng> GetBeanSet public Set () {



    



 beanSet tilbake;



  



 }





  



 public void setBeanList (<GenericService> beanList List) {



    



 this.beanList = beanList;



  



 }





  



 public void setBeanMap (Kart <Integer, STRING> beanMap) {



    



 this.beanMap = beanMap;



  



 }





  



 public void setBeanProps (Egenskaper beanProps) {



    



 this.beanProps = beanProps;



  



 }





  



 public void setBeanSet (Set <streng> beanSet) {



    



 this.beanSet = beanSet;



  



 }







 }



nell'applicationContext. xml





 <-! BEAN COLLECTION ->







 <bean id="collectionBean" class="it.mrwebmaster.di.collection.CollectionBean">



	

  



 <- LISTE ->



  



 <property name="beanList">



    



 <list>



      



 <ref bean="genericService"/>

	

    



 </ List>



  



 </ Eiendom>



	

  



 <- Egenskaper ->



  



 <property name="beanProps">



    



 <props>



      



 <prop key="prop1"> verdi1 </ prop>



      



 <prop key="prop2"> verdi2 </ prop>



      



 <prop key="prop3"> value3 </ prop>



    



 </ Props>



  



 </ Eiendom>



	

  



 <- SET ->



  



 <property name="beanSet">



    



 <set>



      



 <value> en </ value>



      



 <value> b </ value>



    



 </ Set>



  



 </ Eiendom>



	

  



 <- KART ->



  



 <property name="beanMap">



    



 <map>



      



 <entry key="1" value="value1" />



    



 </ Kart>



  



 </ Eiendom>







 </ Bean>



Den etterlater leseren med dybden av andre problemer som for eksempel sammenslåing av samlingen, den indre bønner og samarbeidspartnere.

Java Spring Guide
E-Learning
Linux (Course) Linux (Course)
Komplett guide til open-source system. Starter fra 49 €.
PHP (Course) PHP (Course)
Full kurs for å lage dynamiske nettsider. Starter fra 49 €.
Ruby og Ruby On Rails (Course) Ruby og Ruby On Rails (Course)
Opprette programvare og web applikasjoner med Ruby og RoR. Starter fra 39 €.
Sponsede Lenker