..


Link-uri sponsorizate

Core container - @ Autowired şi Resurselor

În secţiunile anterioare am văzut cum să configuraţi containerului IOC folosind metadatele în format XML.
Configuraţia implicită prin Adnotarea Java nu este activat, permite aceasta trebuie să introduceţi nell'applicationContext. <context:annotation-config/> Etichetă XML.
Să vedem cum se utilizează pentru a configura @ Autowired dependenţele.

@ Producător de Autowired






 public class {AutowiredBean1





  



 Privare de ServiceAW1 service1;





  



 Privare de ServiceAW2 Service2;





  



 @ Autowired



  



 AutowiredBean1 publice (ServiceAW1 service1, ServiceAW2 Service2) {



    



 super ();



    



 this.service1 = service1;



    



 this.service2 = Service2;



  



 }





  



 / **



   



 * Logica de afaceri ..........



   



 * /







 }



şi nell'applicationContext. XML





 <context:annotation-config/>









 <bean id="serviceAW1" class="it.mrwebmaster.di.autowired.ServiceAW1Impl"/>







 <bean id="serviceAW2" class="it.mrwebmaster.di.autowired.ServiceAW2Impl"/>









 <bean id="autowiredBean1" class="it.mrwebmaster.di.autowired.AutowiredBean1"/>



@ Setter Autowired sau domenii de






 public class {AutowiredBean2





  



 @ Autowired



  



 Privare de ServiceAW1 service1;





  



 Privare de ServiceAW2 Service2;





  



 publice ServiceAW1 getService1 () {



    



 service1 de returnare;



  



 }





  



 publice ServiceAW2 getService2 () {



    



 Service2 de returnare;



  



 }





  



 void setService1 publice (ServiceAW1 service1) {



    



 this.service1 = service1;



  



 }





  



 @ Autowired



  



 void setService2 publice (ServiceAW2 Service2) {



    



 this.service2 = Service2;



  



 }





  



 / **



   



 * Logica de afaceri ..........



   



 * /







 }



şi nell'applicationContext. XML
 



 <bean id="autowiredBean2" class="it.mrwebmaster.di.autowired.AutowiredBean2"/>

 
Impreuna cu @ Autowired aveţi posibilitatea să utilizaţi @ Calificare specfic la id-ul de fasole pe care doriţi să injectaţi, de exemplu, în cazul în care există două fasole, care sunt din aceeaşi clasă, aşa că, dacă există ambiguităţi posibile.





 @ Autowired







 @ Calificator ("serviceAW1")







 Privare de ServiceAW1 service1;



sau





 @ Autowired







 AutowiredBean4 publice (@ Qualifier ("serviceAW1") ServiceAW1 service1, ServiceAW2 Service2) {







 .....



Resurse

O altă caracteristică foarte utilă, care ne oferă de primăvară este acces simplificat la resursele (care poate fi la fel de variate ca fişiere sau URL-uri). Această facilitate este implementată prin utilizarea a interfeţei şi a resurselor sale implementari.

Interfaţa extinde InputStreamSource Resurse adăugarea de alte caracteristici. Implementari principale ale acestei interfeţe sunt:

  • UrlResource, permite accesul la toate resursele care sunt accesate printr-o adresă URL.
  • ClassPathResource, permite accesul la toate resursele de pe classpath.
  • FileSystemResource, permite accesul la fişierele.
  • ServletContextResource, permite accesul la toate resursele care sunt în mod normal, accesate prin intermediul ServletContext.
  • InputStreamResource, permite accesul la resursa a unei InputStream dat.
  • ByteArrayResource, permite accesul la resursa a unei ByteArray dat.

Prin exemplul următor vom vedea cum Resurse instaziare şi injectaţi în fasole nostru:






 public class {ResourceBean





  



 privat de resurse de resurse;





  



 setResource public void (resursă de resurse) {



    



 this.resource = resurselor;



  



 }





  



 getResource resurse publice () {



    



 întoarcere de resurse;



  



 }







 }



nell'applicationContext. xml





 <bean id="resourceBean" class="it.mrwebmaster.resources.ResourceBean">



  



 <property name="resource" value="classpath:resource"> </ proprietate>







 </ Bean>



În exemplul de care nu definesc tipul de resursă care va fi instantiata, ea instanţiază de primăvară, dar este necesar. Există trei tipuri de resurse şir, se bazează pe Queli instaziata Resurse:

  • classpath: instanţiază un ClassPathResource
  • Fişier: instanţiază un FileSystemResource
  • http:instanzia o UrlResource

Java de primăvară Ghid
E-Learning
Curs Linux Curs Linux
Ghid complet pentru open-source de sistem. Incepand de la 49 €.
Curs PHP Curs PHP
Cursul completa pentru crearea de site-uri Web dinamice. Incepand de la 49 €.
Curs Ruby şi Ruby on Rails Curs Ruby şi Ruby on Rails
Crearea de aplicatii software si web cu Ruby şi RoR. Incepand de la 39 €.
Link-uri sponsorizate