Я изучаю Spring MVC, и у меня есть некоторые сомнения, связанные с
Итак, у меня есть этот класс конфигурации, который настраивает мой DispatcherServlet, который обрабатывает запросы пользователя:
public class MyWebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext container) {
// Create the 'root' Spring application context
AnnotationConfigWebApplicationContext rootContext = ...
// Create the dispatcher servlet Spring application context
AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext();
dispatcherContext.register(DispatcherConfig.class);
// Register and map the dispatcher servlet
ServletRegistration.Dynamic dispatcher = container.addServlet("main", new DispatcherServlet(dispatcherContext));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("main/");
}
}
Для меня довольно ясно, как работает DispatcherServlet. Мои сомнения связаны с концепцией контекста.
1) Что именно представляет контекст? Я думаю, что это что-то вроде набора beans, который имеет конкретную заливку и работает в среде. Но я абсолютно не верю в это утверждение.
2) В чем разница между корневым контекстом и контекстом сервлета диспетчера?
3) Из того, что я понял, beans, определенный в dispatcherContext, имеет доступ к beans, определенному в rootContext (но противоположное неверно). Почему?
Тпх