..


Sponsrade länkar

Kärna Container - @ Autowired och resurser

I tidigare avsnitt såg vi hur man konfigurerar IOK behållaren med hjälp av metadata i XML-format.
Den förvalda konfiguration via Java kommentar är inte aktiverad, så att du kan skriva in nell'applicationContext. <context:annotation-config/> XML-tagg.
Låt oss se hur man använder @ Autowired att konfigurera beroenden.

@ Autowired tillverkare av






 {Public class AutowiredBean1





  



 Privat ServiceAW1 Service1;





  



 Privat ServiceAW2 Service2;





  



 @ Autowired



  



 offentliga AutowiredBean1 (ServiceAW1 Service1, ServiceAW2 Service2) {



    



 super ();



    



 this.service1 = Service1;



    



 this.service2 = Service2;



  



 }





  



 / **



   



 * Affärslogik ..........



   



 * /







 }



och 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"/>



@ Autowired normgivare eller områden






 {Public class AutowiredBean2





  



 @ Autowired



  



 Privat ServiceAW1 Service1;





  



 Privat ServiceAW2 Service2;





  



 offentliga ServiceAW1 getService1 () {



    



 Service1 tillbaka;



  



 }





  



 offentliga ServiceAW2 getService2 () {



    



 Service2 tillbaka;



  



 }





  



 public void setService1 (ServiceAW1 Service1) {



    



 this.service1 = Service1;



  



 }





  



 @ Autowired



  



 public void setService2 (ServiceAW2 Service2) {



    



 this.service2 = Service2;



  



 }





  



 / **



   



 * Affärslogik ..........



   



 * /







 }



och nell'applicationContext. xml
 



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

 
Tillsammans med kan du använda @ @ Autowired Qualifier specfic till ID för bönor som du vill injicera, till exempel om det finns två bönor som är av samma klass, så om det finns oklarheter.





 @ Autowired







 @ Qualifier ("serviceAW1")







 Privat ServiceAW1 Service1;



eller





 @ Autowired







 offentliga AutowiredBean4 (@ Qualifier ("serviceAW1") ServiceAW1 Service1, ServiceAW2 Service2) {







 .....



Resurser

En annan mycket användbar funktion som våren ger oss enkel tillgång till resurser är det (som kan vara så varierade som filer eller webbadresser). Den här funktionen är implementerad med hjälp av gränssnittet och dess implementeringar Resurs.

Gränssnittet Resource sträcker InputStreamSource lägga till andra funktioner. Den huvudsakliga implementationer av detta gränssnitt är:

  • UrlResource, ger tillgång till alla resurser som nås via en URL.
  • ClassPathResource, ger tillgång till alla resurser på classpath.
  • FileSystemResource, ger tillgång till filer.
  • ServletContextResource, ger tillgång till alla resurser som normalt nås via ServletContext.
  • InputStreamResource, ger tillgång till resursen av en viss InputStream.
  • ByteArrayResource, ger tillgång till resursen av en viss ByteArray.

Genom följande exempel får vi se hur instaziare Resurser och injicera i våra bönor:






 {Public class ResourceBean





  



 privata Resurs resurs;





  



 public void setResource (Resource resurs) {



    



 this.resource = resurs;



  



 }





  



 allmän resurs getResource () {



    



 tillbaka resurs;



  



 }







 }



nell'applicationContext. xml





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



  



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







 </ Bean>



I exemplet du inte definierar vilken typ av resurs som kommer att instansieras, instansierar det våren men det är lämpligt. Det finns tre typer av sträng Resurs, baseras på Queli instaziata Resurs:

  • classpath: instansierar ett ClassPathResource
  • Fil: instansierar ett FileSystemResource
  • http:instanzia en UrlResource

Spring Java-guide
E-Learning
Linux (kurs) Linux (kurs)
Komplett av öppen källkod-system. Från 49 €.
PHP (kurs) PHP (kurs)
Fullständig kurs för att skapa dynamiska webbplatser. Från 49 €.
Ruby och Ruby on Rails (kurs) Ruby och Ruby on Rails (kurs)
Skapa program och webbapplikationer med Ruby och RoR. Från 39 €.
Sponsrade länkar