Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ? / 15 сообщений из 15, страница 1 из 1
27.10.2013, 15:29:48
    #38442576
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
собственно интересует тема сабжа.

P.S. не очень понимаю как эти два контекста относятся и что куда грузится
...
Рейтинг: 0 / 0
27.10.2013, 17:35:24
    #38442624
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
как это соотносится с рутовым контекстом. где тут что?
...
Рейтинг: 0 / 0
27.10.2013, 18:21:35
    #38442651
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
Вполне понятно относятся:

Код: java
1.
2.
3.
4.
public interface WebApplicationContext extends ApplicationContext {
   ... // здесь N констант
   ServletContext getServletContext();
}
...
Рейтинг: 0 / 0
27.10.2013, 22:31:43
    #38442776
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
Alexander A. Sak,

ну это вообще один и тот же контейнер? или они содержат разные бины?

что такое рут контекст? зачем он придуман?
...
Рейтинг: 0 / 0
30.10.2013, 00:46:25
    #38445978
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
redwhite90Alexander A. Sak,

ну это вообще один и тот же контейнер? или они содержат разные бины?

что такое рут контекст? зачем он придуман?
Если грубо говоря(как я понимаю этот вопрос :) ), то надо понимать три вещи:

1- Бины объявленные в ApplicationContext явным образом (<bean>) или через аннотации (@Component/Service/Repository и путь к классу указан в <component-scan>) доступны везде. Т.е. "доступны" для @Autowired во всех бинах.

2-Бины объявленные в WebApplicationContext явным образом (<bean>) или через аннотации (@Component/Service/Repository и путь к классу указан в <component-scan>) доступны только в нем.
Т.е. если ты объявишь бин в WebApplicationContext, и попытаешься установить его как поле в бине объявленном в ApplicationContext получишь ошибку.

3-Из вышеизложенного следует, что при объявлении бинов с помощью аннотаций, требуется указать путь к классу(или пакету) в
разделе <component-scan>. Соответственно, если в ApplicationContext и WebApplicationContext раздел <component-scan> будет иметь повторяющиеся элементы, бины будут созданы дважды, что может привести к ошибкам.
...
Рейтинг: 0 / 0
30.10.2013, 07:57:25
    #38446086
mesier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
rdm Соответственно, если в ApplicationContext и WebApplicationContext раздел <component-scan> будет иметь повторяющиеся элементы, бины будут созданы дважды, что может привести к ошибкам.
Разве?
Они ж синглтоны.
Скорее всего ссылки на один объект будут в двух объектах контекстов.
Надо поэкспериментировать..
...
Рейтинг: 0 / 0
30.10.2013, 10:15:54
    #38446200
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
rdm1- Бины объявленные в ApplicationContext явным образом

как понять, что они в ApplicationContext объявлены?
rdm2-Бины объявленные в WebApplicationContext явным образом

аналогичный вопрос
...
Рейтинг: 0 / 0
30.10.2013, 10:23:47
    #38446213
mesier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
redwhite90 как понять, что они в ApplicationContext объявлены?
Очевидно заглянуть в дескриптор развертывания web.xml
...
Рейтинг: 0 / 0
30.10.2013, 10:26:01
    #38446216
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
mesier,

очевидно....

А дальше? в web.xml не написано, что вот это webApplicationContext, а это ApplicationContext прямым текстом
...
Рейтинг: 0 / 0
30.10.2013, 11:09:44
    #38446294
mesier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
Если вы обратили внимание, WebApplicationContext - это интерфейс.
Соответственно, какую-то реализацию его хранит Dispatcher Servlet у себя..
В дескрипторе развертывания у вас по-любому написано как называется Dispatcher Servlet.
Спринг будет искать файл настроек <ИМЯ_ДИСПЕТЧЕР_СЕРВЛЕТА>-servlet.xml
Причем он может "знать" и о других объектах, ссылки на которые есть в других контекстах, если мы там сканируем пакеты с помощью <context:component-scan .
Пока что я и придерживаюсь мнения, что вот в этом xml-файле описывается WebApplicationContext.
Более опытные товарищи пусть меня поправят, если я не прав..

Другие контексты прописываем в <context-param> в web.xml

У меня вот в одном приложении, например, вот так:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:ru/company/awsservice/applicationContext-awsService.xml
            classpath:ru/company/helper/applicationContext-helper.xml
            classpath:ru/company/service/applicationContext-service.xml
            classpath:ru/company/common/applicationContext-common.xml
            WEB-INF/root-context.xml 
        </param-value>
    </context-param>


Причем, awsservice и common - вообще "соседние" проекты, классы из которых мы будем использовать..


PS: что-то каверзный вопрос у вас оказался. )))
Пойду книжку перечитаю про Spring MVC..
...
Рейтинг: 0 / 0
30.10.2013, 11:26:47
    #38446320
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
mesier,

вот спасибо)

давно бьюсь над этим вопросом и ничего конкретного я не видел.

тут уже был дан ответ, но всё таки хочу уточнить

WebApplicationContext знает об ApplicationContext?
ApplicationContext знает об WebApplicationContext?
...
Рейтинг: 0 / 0
30.10.2013, 11:49:26
    #38446360
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
mesierРазве?
Они ж синглтоны.
Скорее всего ссылки на один объект будут в двух объектах контекстов.
Надо поэкспериментировать..

С каких это пор бины стали синглтонами? Как укажешь в конфиге, так и будет.
...
Рейтинг: 0 / 0
30.10.2013, 11:57:06
    #38446369
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
Ищущий Знания,
а если не укажешь ничего - будут синглтоны - чего придираться то. Вопрос в другом
...
Рейтинг: 0 / 0
30.10.2013, 15:24:06
    #38446838
mesier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
redwhite90mesier, вот спасибо)
давно бьюсь над этим вопросом и ничего конкретного я не видел.
Не за что!
Я ж говорю - могу что-то путать..
Надо время выбрать, повторить про сервлеты, да про Spring MVC.
А ну вот хотя бы на выходных больших..
Как бэ получается в жизни, что работать "клепальщиком форм" можно и без этих глубоких знаний.. )))))
redwhite90WebApplicationContext знает об ApplicationContext?
ApplicationContext знает об WebApplicationContext?
Всё, что вы хотели знать о взаимоотношении родителей с потомками: )))
Код: java
1.
public interface WebApplicationContext extends ApplicationContext
...
Рейтинг: 0 / 0
30.10.2013, 16:31:40
    #38447011
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ?
mesier,

ну класс это всего лишь шаблон объекта, а что туда пихать это уже другой вопрос.

То есть это вообще разные контейнеры или один содержит другой ?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring mvc. Как понять что относится к ApplicationContext, а что к WebApplicationContext ? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]