..


Sponzorované odkazy

Jadro Container - seter Dependency Injection

Použiť konštruktor Dependency Injection môže viesť k vytvoreniu cyklické závislosti medzi fazuľou. Napríklad, ak sa na odchádzajúceho predmetom hlavičke musí byť inštancie k objektu B, ale zároveň objekt objekt B potrebuje, vytvára závislosť, ktoré nemožno vyriešiť pomocou konštruktory Dependency Injection.

V takých prípadoch je nutné použiť seter Dependency Injection je veľmi podobný konštruktory, ale rozdiel spočíva v tom, že závislosti sú injekčne po objekt inštancie. Tu je príklad:






 {Public class Bean2



	

  



 Súkromné ​​GenericService genericService;





  



 public void setGenericService (GenericService genericService) {



    



 this.genericService = genericService;



  



 }





  



 verejné GenericService getGenericService () {



    



 genericService návrat;



  



 }



	

  



 / **



   



 * Obchodný logika .............



   



 * /









 }



nell'applicationContext. XML





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



  



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







 </ Bean>



Okrem riešenia problému s kruhovou závislosť dipenze Setter Injection je možné nakonfigurovať aj za behu fazuľa, Z týchto dôvodov je lepšie do konštruktory. Niektoré myšlienkové smery, však, hovoriť, že by bolo dobré použiť entrabe: konštruktor pre potrebné závislosti a zápis pre tieto voľby. Odporúča sa používať pre zápis, pretože je veľmi zriedkavé, že tam sú voliteľné závislosti.

Okrem základného použitia DI, tam sú ďalšie funkcie, ktoré ponúka jarné, ako sú prázdne reťazce, alebo si môžete aplikovať null pole:






 <- NULL hodnotu 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/> </ konštruktér-arg>







 </ Bean>









 <- 2 Hodnota NULL ->







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



  



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







 </ Bean>



Jarnej ponúka aj kolekciu vedenie zoznamu typ, Set, Map, vlastnosti, a cez zozname značiek, set, máp a rekvizity:






 {Public class CollectionBean





  



 súkromnom zozname <GenericService> beanList;





  



 Súkromným majetkom beanProps;





  



 Súkromné ​​<string> beanSet septembra;





  



 Mapa súkromné ​​<Integer, string> beanMap;





  



 / **



   



 * Obchodný logika ......................



   



 * /



	

  



 <GenericService> GetBeanList verejný zoznam () {



    



 beanList návrat;



  



 }





  



 verejné Mapa <Integer, string> getBeanMap () {



    



 beanMap návrat;



  



 }





  



 Verejné vlastnosti getBeanProps () {



    



 beanProps návrat;



  



 }





  



 <string> GetBeanSet verejné set () {



    



 beanSet návrat;



  



 }





  



 public void setBeanList (List <GenericService> beanList) {



    



 this.beanList = beanList;



  



 }





  



 public void setBeanMap (Mapa <Integer, string> beanMap) {



    



 this.beanMap = beanMap;



  



 }





  



 public void setBeanProps (Properties beanProps) {



    



 this.beanProps = beanProps;



  



 }





  



 public void setBeanSet (Set <string> beanSet) {



    



 this.beanSet = beanSet;



  



 }







 }



nell'applicationContext. XML





 <- BEAN COLLECTION ->







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



	

  



 <- List ->



  



 <property name="beanList">



    



 <výčet>



      



 <ref bean="genericService"/>

	

    



 </ Zoznam>



  



 </ Nehnuteľnosti>



	

  



 <- Vlastnosti ->



  



 <property name="beanProps">



    



 <props>



      



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



      



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



      



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



    



 </ Rekvizity>



  



 </ Nehnuteľnosti>



	

  



 <- SET ->



  



 <property name="beanSet">



    



 <Set>



      



 <hodnota> na </ value>



      



 <hodnota> b </ value>



    



 </ Set>



  



 </ Nehnuteľnosti>



	

  



 <- MAP ->



  



 <property name="beanMap">



    



 MAP



      



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



    



 </ Mapa>



  



 </ Nehnuteľnosti>







 </ Bean>



To ponecháva čitateľa s hĺbkou v iných otázkach, ako je zber zlúčenie, vnútorné fazuľa a spolupracovníkov.

Jarné Java Sprievodca
E-Learning
Linux (kurz) Linux (kurz)
Kompletný sprievodca pre open-source systému. Od 49 €.
PHP (kurz) PHP (kurz)
Celý kurz pre vytváranie dynamických webov. Od 49 €.
Ruby a Ruby on Rails (kurz) Ruby a Ruby on Rails (kurz)
Vytvoriť softvér a webových aplikácií s Ruby a ROR. Od 39 €.
Sponzorované odkazy