..


Linki sponsorowane

Pojemnik Core - @ Autowired i zasoby

W poprzedniej części widzieliśmy jak skonfigurować kontener IoC za pomocą metadanych w formacie XML.
Domyślna konfiguracja przez adnotacji Java nie jest włączona, aby umożliwić wpisanie nell'applicationContext. <context:annotation-config/> Tag XML.
Zobaczmy, jak używać @ Autowired skonfigurować zależności.

@ Autowired producenta






 {Public class AutowiredBean1





  



 Prywatne ServiceAW1 usług1;





  



 Prywatne ServiceAW2 Usługa2;





  



 @ Autowired



  



 publicznych AutowiredBean1 (ServiceAW1 usług1, ServiceAW2 Usługa2) {



    



 super ();



    



 this.service1 = Service1;



    



 this.service2 = Usługa2;



  



 }





  



 / **



   



 * Logika biznesowa ..........



   



 * /







 }



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



@ Autowired ustawiaczy lub pól






 {Public class AutowiredBean2





  



 @ Autowired



  



 Prywatne ServiceAW1 usług1;





  



 Prywatne ServiceAW2 Usługa2;





  



 publicznych ServiceAW1 getService1 () {



    



 usług1 powrotu;



  



 }





  



 publicznych ServiceAW2 getService2 () {



    



 Usługa2 powrotu;



  



 }





  



 public void setService1 (ServiceAW1 usług1) {



    



 this.service1 = Service1;



  



 }





  



 @ Autowired



  



 public void setService2 (ServiceAW2 Usługa2) {



    



 this.service2 = Usługa2;



  



 }





  



 / **



   



 * Logika biznesowa ..........



   



 * /







 }



i nell'applicationContext. xml
 



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

 
Wraz z możesz użyć @ @ Autowired Qualifier specfic na id fasoli chcesz wprowadzić, na przykład, jeśli istnieją dwa fasoli, które są tej samej klasy, więc jeśli nie ma dwuznaczności.





 @ Autowired







 @ Qualifier ("serviceAW1")







 Prywatne ServiceAW1 usług1;



lub





 @ Autowired







 publicznych AutowiredBean4 (Qualifier @ ("serviceAW1") ServiceAW1 usług1, ServiceAW2 Usługa2) {







 .....



Zasoby

Innym bardzo użyteczna funkcja, która wiosną daje nam łatwy dostęp do zasobów jest (które mogą być tak różne, jak pliki lub adresy URL). Ta funkcja jest realizowana za pomocą interfejsu i jego zasobów wdrożeń.

Zasobów interfejsu rozszerza InputStreamSource dodanie innych funkcji. Głównym implementacji tego interfejsu to:

  • UrlResource, umożliwia dostęp do wszystkich zasobów, które są dostępne poprzez URL.
  • ClassPathResource, umożliwia dostęp do wszystkich zasobów w classpath.
  • FileSystemResource, umożliwia dostęp do plików.
  • ServletContextResource, umożliwia dostęp do wszystkich zasobów, które są zazwyczaj dostępne poprzez ServletContext.
  • InputStreamResource, umożliwia dostęp do zasobów danego InputStream.
  • ByteArrayResource, umożliwia dostęp do zasobów danego ByteArray.

Dzięki poniższym przykładzie widzimy, jak instaziare zasoby i wprowadzić do naszej fasoli:






 {Public class ResourceBean





  



 prywatnych zasobów zasobów;





  



 publicznych setResource void (zasobów Resource) {



    



 this.resource = zasobów;



  



 }





  



 publicznych getResource zasobów () {



    



 powrót zasobów;



  



 }







 }



nell'applicationContext. xml





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



  



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







 </ Bean>



W przykładzie nie określają typ zasobu, który zostanie natychmiast, to wystąpienie wiosną, ale jest to potrzebne. Istnieją trzy rodzaje zasobów ciąg, opiera się na Queli instaziata zasobów:

  • classpath: instancję ClassPathResource
  • Plik: instancję FileSystemResource
  • http:instanzia UrlResource

Wiosna Java Przewodnik
E-Learning
Linux (Kurs) Linux (Kurs)
Kompletny przewodnik do systemu open-source. Od 49 €.
PHP (Kurs) PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Od 49 €.
Ruby i Ruby on Rails (Kurs) Ruby i Ruby on Rails (Kurs)
Tworzenie oprogramowania i aplikacji webowych w języku Ruby RoR. Od 39 €.
Linki sponsorowane