..


Sponsor Bağlantılar

Çekirdek Konteyner - @ Autowired ve Kaynaklar

Önceki bölümlerde biz XML biçiminde meta verileri kullanarak IoC konteyner nasıl yapılandırılacağı gördüm.
Java ek açıklama ile varsayılan yapılandırması nell'applicationContext girmek sağlamak için, etkin değildir. <context:annotation-config/> XML etiketi.
Bağımlılıkları yapılandırmak için Autowired @ nasıl kullanılacağını görelim.

Ve @ Autowired üretici






 {Public class AutowiredBean1





  



 Özel ServiceAW1 servis1;





  



 Özel ServiceAW2 Service2;





  



 @ Autowired



  



 kamu AutowiredBean1 (ServiceAW1 servis1, ServiceAW2 Service2) {



    



 super ();



    



 this.service1 = Service1;



    



 this.service2 = Service2;



  



 }





  



 / **



   



 * İş mantığı ..........



   



 * /







 }



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



Ve @ Autowired belirleyiciler veya alanları






 {Public class AutowiredBean2





  



 @ Autowired



  



 Özel ServiceAW1 servis1;





  



 Özel ServiceAW2 Service2;





  



 kamu ServiceAW1 getService1 () {



    



 servis1 dönmek;



  



 }





  



 kamu ServiceAW2 getService2 () {



    



 Service2 dönmek;



  



 }





  



 public void setService1 (ServiceAW1 servis1) {



    



 this.service1 = Service1;



  



 }





  



 @ Autowired



  



 public void setService2 (ServiceAW2 Service2) {



    



 this.service2 = Service2;



  



 }





  



 / **



   



 * İş mantığı ..........



   



 * /







 }



ve nell'applicationContext. xml
 



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

 
Ile birlikte kullanabileceğiniz @ aynı sınıfın iki fasulye varsa belirsizlik var eğer öyleyse, örneğin, enjekte etmek istediğiniz fasulye id specfic @ Autowired Qualifier.





 @ Autowired







 @ Niteleyici ("serviceAW1")







 Özel ServiceAW1 servis1;



veya





 @ Autowired







 kamu AutowiredBean4 (@ Elemesi ("serviceAW1") ServiceAW1 servis1, ServiceAW2 Service2) {







 .....



Kaynaklar

Bahar kaynaklara kolay erişim bize sağladığı diğer bir çok faydalı özelliği (as dosya ve URL olarak farklı olabilir) olduğunu. Bu özellik arayüzü ve uygulamaları kaynak kullanımı yoluyla uygulanır.

Arayüz Kaynak InputStreamSource ekleyerek diğer özellikleri uzanır. Bu arabirim ana uygulamaları şunlardır:

  • UrlResource, bir URL üzerinden erişilen tüm kaynaklara erişim sağlar.
  • ClassPathResource, sınıf tüm kaynaklara erişim sağlar.
  • FileSystemResource, dosyalara erişimi sağlar.
  • ServletContextResource, normalde ServletContext'te üzerinden erişilen tüm kaynaklara erişim sağlar.
  • InputStreamResource, belirli bir InputStream bir kaynağa erişim sağlar.
  • ByteArrayResource, belirli bir ByteArray kaynağa erişim sağlar.

Aşağıdaki örnek sayesinde biz nasıl instaziare Kaynakları göreceksiniz ve fasulye içine enjekte:






 {Public class ResourceBean





  



 özel kaynak kaynak;





  



 public void setResource (Kaynak kaynak) {



    



 this.resource = kaynak;



  



 }





  



 kamu Kaynak getResource () {



    



 kaynak dönmek;



  



 }







 }



nell'applicationContext. xml





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



  



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







 </ Fasulye>



Örnekte örneği olacak kaynak türünü tanımlamak değil, bu Bahar örnekler ama uygundur. Dize Kaynak üç türü vardır Queli instaziata Kaynak dayanmaktadır:

  • sınıf: Bir ClassPathResource örnekler
  • Dosya: Bir FileSystemResource örnekler
  • http:instanzia bir UrlResource

Bahar Java Rehberi
E-Öğrenme
Linux (Ders) Linux (Ders)
Açık kaynak sistemi komple rehberi. 49 € düşük.
PHP (Ders) PHP (Ders)
Dinamik Web siteleri oluşturmak için tam ders. 49 € düşük.
Ruby on Rails ve Ruby (Ders) Ruby on Rails ve Ruby (Ders)
Ruby ve RoR ile yazılım ve Web uygulamaları oluşturun. En düşük € 39.
Sponsor Bağlantılar