..
Контейнер 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, которые были описаны в предыдущих главах выделяются:

Снова ссылаясь на нашем примере мы могли бы использовать 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 </ слушателя-класса> </ Слушатель>
| |
Linux (курс)
Полное руководство по открытым исходным кодом системы. От 49 €. |
| |
PHP (курс)
Полный курс для создания динамических веб-сайтов. От 49 €. |
| |
Руби и Ruby On Rails (курс)
Создание программного обеспечения и веб-приложений с Рубином и RoR. С 39 €. |