..


Sponsorētās saites

Core konteiners - seters Dependency Injection

No Constructor Atkarības Injection izmantošana var novest pie izveidi cikliskās atkarības starp pupiņām. Piemēram, ja ir izejošais pakļauts galvenes jābūt instantiated uz objekta B, bet tajā pašā laikā objektu B nepieciešams objektu, jums izveidot atkarību, ko nevar atrisināt, izmantojot konstruktora Dependency Injection.

Šādos gadījumos jums vajadzētu izmantot seters Dependency Injection ir ļoti līdzīgs konstruktoru, bet atšķirība ir tajā apstāklī, ka atkarība ir ievadīts pēc tam, kad objekts ir instantiated. Lūk, piemērs:






 valsts klases {Bean2



	

  



 Private GenericService genericService;





  



 valsts spēkā setGenericService (GenericService genericService) {



    



 this.genericService = genericService;



  



 }





  



 valsts GenericService getGenericService () {



    



 genericService atgriešanās;



  



 }



	

  



 / **



   



 * Biznesa loģikas .............



   



 * /









 }



nell'applicationContext. xml





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



  



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







 </ Pupiņu>



Papildus, lai atrisinātu problēmu ar cirkulārās dipenze seters Dependency Injection arī ļauj pārveidot pupas runtime šo iemeslu dēļ ir vēlams konstruktors. Dažas domas skolu, tomēr saka, ka labi būtu izmantot entrabe: Constructor nepieciešamo atkarības un noteicēji izvēles daļas. Ir ieteicams izmantot noteicēja, jo tas ir ļoti reti, ka ir obligāti atkarības.

Papildus izmantojot bāzes OF ir citas funkcijas, kas Spring piedāvā, piemēram, jūs varat injicēt tukšu virknes vai null jomās:






 <- NULL vērtības 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/> </ konstruktors-Arg>







 </ Pupiņu>









 <- NULL vērtības 2! ->







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



  



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







 </ Pupiņu>



Spring piedāvā arī kolekcija veida vadību saraksts, Set, Map, Properties, un ar tagu sarakstu, kas, karti, un aksesuārus:






 valsts klases {CollectionBean





  



 Privātais saraksts <GenericService> beanList;





  



 Private Properties beanProps;





  



 Private <string> beanSet septembrī;





  



 privātā Karte <Integer, string> beanMap;





  



 / **



   



 * Biznesa loģikas ......................



   



 * /



	

  



 <GenericService> GetBeanList sabiedrisko saraksts () {



    



 beanList atgriešanās;



  



 }





  



 valsts Karte <Integer, string> getBeanMap () {



    



 beanMap atgriešanās;



  



 }





  



 getBeanProps valsts Properties () {



    



 beanProps atgriešanās;



  



 }





  



 <string> GetBeanSet valsts Set () {



    



 beanSet atgriešanās;



  



 }





  



 valsts spēkā setBeanList (<GenericService> beanList saraksts) {



    



 this.beanList = beanList;



  



 }





  



 valsts spēkā setBeanMap (Map <Integer, string> beanMap) {



    



 this.beanMap = beanMap;



  



 }





  



 valsts spēkā setBeanProps (Properties beanProps) {



    



 this.beanProps = beanProps;



  



 }





  



 valsts spēkā 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">



    



 <list>



      



 <ref bean="genericService"/>

	

    



 </ List>



  



 </ Īpašuma>



	

  



 <- PROPERTIES! ->



  



 <property name="beanProps">



    



 <props>



      



 <prop key="prop1"> vērtība1 </ prop>



      



 <prop key="prop2"> vērtība2 </ prop>



      



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



    



 </ Props>



  



 </ Īpašuma>



	

  



 <- SET! ->



  



 <property name="beanSet">



    



 <set>



      



 <VALUE> </ vērtību>



      



 <VALUE> b </ vērtība>



    



 </ Set>



  



 </ Īpašuma>



	

  



 <- MAP! ->



  



 <property name="beanMap">



    



 <map>



      



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



    



 </ Karte>



  



 </ Īpašuma>







 </ Pupiņu>



Tas atstāj lasītāju ar dziļumu citi jautājumi, piemēram apvienošanās savākšanas, iekšējo pupiņas un līdzstrādniekiem.

Java Spring Guide
E-Learning
Linux Course Linux Course
Pilnīga rokasgrāmata atvērtā koda sistēma. Sākot no 49 €.
PHP Course PHP Course
Pilns kurss, lai radītu dinamisku tīmekļa vietnes. Sākot no 49 €.
Protams, Ruby un Ruby On Rails Protams, Ruby un Ruby On Rails
Izveide programmatūras un Web lietojumprogrammas ar Ruby un ROR. Sākot no € 39.
Sponsorētās saites