|
|
|
SpringMVC: зачем нужны 2 контекста?
|
|||
|---|---|---|---|
|
#18+
В книге SpringInAction сказано, что WebApplicationContext объекта класса DispatcherServlet нужен для настройки обработки запросов (контроллеров, view resolver-ов), а "корневой" WebApplicationContext нужен для хранения там остальных бинов. Но я вот щас переопределил метод getDispatcherWebApplicationContextSuffix() класса AbstractSecurityWebApplicationInitializer, и у меня бин "springSecurityFilterChain", как впрочем и "securityConfig", успешно разместился в контексте сервлета. Если это работает, то почему бы все бины просто не располагать в контексте сервлета, зачем нужно ещё настраивать контекст приложения? Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 14:31 |
|
||
|
SpringMVC: зачем нужны 2 контекста?
|
|||
|---|---|---|---|
|
#18+
skywriter, Эта тема неплохо объяснена, например, в этом вопросе на stackoverflow. Та же тема в официальном спринговском руководстве . Если коротко и своими словами, при использовании Spring MVC формируется иерархия контекстов. WebApplicationContext содержит информацию о классах, связанных с работой MVC-фреймворка (контроллеры, вью-резолверы и т.д.), а также позволяет непосредственно взаимодействовать с сервлет-контекстом. "Корневой" контекст содержит информацию о классах, имеющих отношение к бэкенду (ДАО/репозитории, сервисы и т.п.). Из WebApplicationContext'а можно обращаться в "корневой", но не наоборот. Такое разграничение существует из тех соображений, что в приложении может быть несколько WebApplicationContext'ов (пользовательский веб-интерфейс и REST-сервис, например). В книжке Pro Spring 3 по этому поводу приводится, например, такая диаграммка: На диаграмме есть "корневой" контекст (слева) и два WebApplicationContext'а (справа), обслуживающие разные сервлеты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2015, 19:52 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=107&tid=2124491]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 292ms |
| total: | 414ms |

| 0 / 0 |
