..


Рекламные ссылки

Основные Контейнер - @ Autowired и ресурсы

В предыдущих разделах мы посмотрели, как настраивать контейнер IoC с использованием метаданных в формате XML.
Конфигурации по умолчанию через аннотации Java не включена, чтобы вы могли войти nell'applicationContext. <context:annotation-config/> XML-тегов.
Давайте посмотрим, как использовать @ Autowired для настройки зависимостей.

@ Autowired производителя






 {Общественного класса AutowiredBean1





  



 Частные ServiceAW1 service1;





  



 Частные ServiceAW2 Service2;





  



 @ Autowired



  



 общественных AutowiredBean1 (ServiceAW1 service1, ServiceAW2 Service2) {



    



 супер ();



    



 this.service1 = Service1;



    



 this.service2 = Service2;



  



 }





  



 / **



   



 * Бизнес-логика ..........



   



 * /







 }



и 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 сеттеров или области






 {Общественного класса AutowiredBean2





  



 @ Autowired



  



 Частные ServiceAW1 service1;





  



 Частные ServiceAW2 Service2;





  



 общественных ServiceAW1 getService1 () {



    



 service1 возвращения;



  



 }





  



 общественных ServiceAW2 getService2 () {



    



 Service2 возвращения;



  



 }





  



 общественного недействительными setService1 (ServiceAW1 service1) {



    



 this.service1 = Service1;



  



 }





  



 @ Autowired



  



 общественного недействительными setService2 (ServiceAW2 Service2) {



    



 this.service2 = Service2;



  



 }





  



 / **



   



 * Бизнес-логика ..........



   



 * /







 }



и nell'applicationContext. XML
 



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

 
Наряду с вы можете использовать @ @ Autowired Qualifier specfic на идентификатор компонента вы хотите внедрить, например, если Есть два бобы, которые имеют тот же класс, так что если есть неоднозначность.





 @ Autowired







 @ Qualifier ("serviceAW1")







 Частные ServiceAW1 service1;



или





 @ Autowired







 общественных AutowiredBean4 (@ Qualifier ("serviceAW1") ServiceAW1 service1, ServiceAW2 Service2) {







 .....



Ресурсы

Другая очень полезная функция, что весна дает нам легкий доступ к ресурсам (что может быть столь же разнообразны, как файлы или URL). Эта возможность реализована за счет использования интерфейса и его реализации ресурсов.

Интерфейс ресурса расширяет InputStreamSource добавив другие возможности. Основной реализаций этого интерфейса являются:

  • UrlResource, предоставляет доступ ко всем ресурсам, которые доступны через URL.
  • ClassPathResource, позволяет получить доступ ко всем ресурсам, на пути к классам.
  • FileSystemResource, позволяет получить доступ к файлам.
  • ServletContextResource, позволяет получить доступ ко всем ресурсам, которые обычно доступны через ServletContext.
  • InputStreamResource, позволяет получить доступ к ресурсу данного InputStream.
  • ByteArrayResource, позволяет получить доступ к ресурсу данного ByteArray.

Через следующем примере мы увидим, как instaziare ресурсов и внедрить в наши бобы:






 {Общественного класса ResourceBean





  



 личный источник ресурсов;





  



 общественных setResource недействительными (Ресурс ресурс) {



    



 this.resource = ресурсами;



  



 }





  



 общественных getResource ресурсов () {



    



 возвращение ресурсов;



  



 }







 }



nell'applicationContext. XML





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



  



 <property name="resource" value="classpath:resource"> </ недвижимость>







 </ Бин>



В примере, вы не определили тип ресурса, который будет создан, он создает экземпляр весна, но это необходимо. Есть три типа строк ресурсов, базируется на Queli instaziata ресурса:

  • классам: экземпляр ClassPathResource
  • Файл: экземпляр FileSystemResource
  • http:instanzia UrlResource

Весна Java Руководство
E-Learning
Linux (курс) Linux (курс)
Полное руководство по открытым исходным кодом системы. От 49 €.
PHP (курс) PHP (курс)
Полный курс для создания динамических веб-сайтов. От 49 €.
Руби и Ruby On Rails (курс) Руби и Ruby On Rails (курс)
Создание программного обеспечения и веб-приложений с Рубином и RoR. С 39 €.
Рекламные ссылки