在阅读问题(WebAppInitializer.class)之前,请参阅此Source。 是否必须单独配置根配置类和DispatcherConfig类。为什么为AnnotationConfigWebApplicationContext创建了两个对象。 我们不能使用单个对象来配置所有类。 我的Spring版本是4.3.12版本,我指的是Spring MVC(不是Spring Boot)。
答案 0 :(得分:0)
出于某种原因创建了两个不同的上下文,它们用于不同的目的。
因此,创建了AnnotationConfigWebApplicationContext
的2个实例来注册2个上下文。
还必须看到,如何在容器中注册2个上下文。
//root Context
AnnotationConfigWebApplicationContext rootContext = ...
container.addListener(new ContextLoaderListener(rootContext));
// Register and map the dispatcher servlet
AnnotationConfigWebApplicationContext dispatcherServlet = ...
ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(dispatcherServlet));