我想知道Tomcat
如何在Spring MVC上引导我的应用程序?
我有一个初始值设定项:
public class AppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext container) {
AnnotationConfigWebApplicationContext rootCtx = new AnnotationConfigWebApplicationContext();
rootCtx.register(AppConfig.class);
container.addListener(new ContextLoaderListener(rootCtx));
AnnotationConfigWebApplicationContext dispatcherCtx = new AnnotationConfigWebApplicationContext();
dispatcherCtx.register(FreeMarkerWebConfig.class);
ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(dispatcherCtx));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");
}
}
我知道为什么我们需要web.xml
以及Tomcat
如何使用它来引导应用。但我不明白Tomcat
如果没有xml
个文件,只知道应该使用哪个servlet来引导应用程序,但只有AppAppInitializer
?
依赖关系
<!-- spring mvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>
<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
...
我在Spring核心SpringServletContainerInitializer
中找到了这个类。 Tomcat
使用它来引导我的应用程序是否正确?
http://docs.oracle.com/javaee/7/api/javax/servlet/ServletContainerInitializer.html?is-external=true