Насколько точно корневой контекст и контекст сервлета диспетчера находятся в веб-приложении Spring MVC?

я обучаюсь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's 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) Что именно представляет собойконтекст? Я думаю, что это что-то вроде набора бобов, которые имеют конкретное место действия и работают вместе в окружающей среде. Но я абсолютно неправ в этом утверждении.

2) В чем разница междукорневой контекст иконтекст сервлет-диспетчера?

3) Из того, что я понимаю, бобы определены вdispatcherContext иметь доступ к бобам, определенным вrootContext (но обратное не верно). Зачем?

Tnx

Ответы на вопрос(1)

Ваш ответ на вопрос