..


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

Основные Контейнер - IoC контейнеров

Контейнер IoC та часть, которая заботится о экземпляра Весны и настроить объекты, которые находятся в ней, которые называют бобами.

Бобы настраиваются с помощью метаданных, которые могут быть XML-файлы или Java-аннотациями . По умолчанию, метаданные читать только XML, чтобы позволить использование аннотаций не нужно настроить ApplicationContext.

Как уже упоминалось ранее частью IoC и DI реализуется через BeanFactory и ApplicationContext. Как ApplicationContext является надмножеством BeanFactory, он рекомендовал, и с этого момента мы будем ссылаться только all'ApplicationContext.
Существуют различные типы предоставляемых Весна ApplicationContext, в зависимости от приложения должны быть разработаны. Например, для самостоятельных приложений, и мы ClassPathXmlApplicationContext FileSystemXmlApplicationContext, в то время как для корпоративных приложений является WebApplicationContext, который конкретизируется через serlvet слушателя.
Все нуждаются в метаданных ApplicationContext конфигурации, а затем мы должны создать экземпляр первым, чтобы написать XML-файл.
Давайте возьмем пример, опять же используя в качестве справочного управления видео магазин и посмотреть, как инициализировать VideoManager IoC класса.
Сначала мы создаем файл, используя метаданные, которые мы называем applicationContext.xml:






 <beans xmlns="http://www.springframework.org/schema/beans" ............>





  



 <! - Импорт и другие метаданные ->



  



 <Import resource="otherbeans.xml"/>

	



  



 <! - ОПРЕДЕЛЕНИЕ СЕРВИС ->

						

  



 <bean id="dvdService" class="it.mrwebmaster.DvdServiceImpl" scope="singleton" />





  



 <! - Definition Video Manager ->



  



 <bean id="videoManager" class="it.mrwebmaster.VideoManager" scope="prototype">



    



 <property name="dvdService" ref="dvdService" />



  



 </ Бин>



	





 </ Фасоль>



Этот пример показывает, что можно объединить множество файлы метаданных определение как дано для того, чтобы разделить бобы. В настоящее время важно понимать синтаксис метаданных (о которых будет сказано позже), но потенциал весны.
Исключить из класса конструктор для инициализации VideoManager dvdService и создания методов получения и установки для dvdService:






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



  



 супер ();







 }









 <Dvd> GetAvalaibleDvdList общественных List () {



  



 //......



  



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







 }









 общественных setDvdService недействительными (DvdService dvdService) {



  



 this.dvdService = dvdService;







 }









 общественных getDvdService DvdService () {



  



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







 }



Теперь давайте посмотрим, как инициализировать МОК:





 / **



 



 * Instanz IoC контейнер



 



 * /







 ApplicationContext ApplicationContext ClassPathXmlApplicationContext = новый ("applicationContext.xml");









 / **



 



 * Получить класса VideoManager



 



 * /







 VideoManager VideoManager = (VideoManager) applicationContext.getBean ("VideoManager");









 / **



 



 * Печать список доступных DVD-дисков



 



 * /







 Список <Dvd> avalaibleDvdList videoManager.getAvalaibleDvdList = ();









 для (DVD DVD: avalaibleDvdList) {



  



 System.out.println (dvd.getTitolo ());







 }



Как мы видели, написав несколько строк кода XML, и мы смогли полностью настроить наше приложение.

Преимущества использования Spring, которые были описаны в предыдущих главах выделяются:

  • Фасоль в нашем приложении, а VideoManger DvdServiceImpl Nessus не реализует интерфейс или абстрактный класс, и зависимости dall'IoC контейнеры, считаются недействительными.
  • Если вы решите изменить реализацию dell'DvdService, или добавить другие, просто измените файл applicationContext.xml, не трогая код VideoManager, благодаря использованию интерфейса.
  • Кроме того, благодаря использованию интерфейса легко создавать тесты для нашего приложения.

IoC Container

Снова ссылаясь на нашем примере мы могли бы использовать FileSystemXmlApplicationContext следующим образом:

 



 ApplicationContext ApplicationContext FileSystemXmlApplicationContext = новый ("/ путь / applicationContext.xml");

 
Вместо того, чтобы использовать WebApplicationContext в корпоративных приложений, необходимо добавить в наш web.xml (полный пример корпоративного приложения, использующего Весна illutrato будет последней главе данного руководства):





 <! - ВЕСНА ->







 <context-param>



  



 <param-name> contextConfigLocation </ пара-имя>



  



 <param-value> классам *: applicationContext.xml </ параметра значение>







 </ Контекст-параметра>









 <listener>



  



 <listener-class> org.springframework.web.context.ContextLoaderListener </ слушателя-класса>







 </ Слушатель>



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