构建Spring Web应用程序
5.1.2 搭建Spring MVC
配置DispatcherServlet
DispatcherServlet是Spring MVC的核心。
不使用web.xml文件,采用java将DispatcherServlet配置在servlet容器中。
package spittr.config;
import *;
public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherSetvletInitializer{
@Override
protected String[] getServletMappings(){
return new String[]{"/"}
}
@Override
protected Class<?>[] getRootConfigClasses(){
return new Class<?>[]{RootConfig.class}
}
@Override
protected Class<?>[] getServletConfigClasses(){
return new Class<?>[]{WebConfig.class}
}
}
扩展AbstractAnnotationConfigDispatcherSetvletInitializer的任意类都会自动配置DispatcherServlet和Spring应用上下文,Spring应用上下文会位于应用程序的Servlet上下文中。
两个应用上下文之间的故事
当DispatcherServlet启动的时候,它会创建Spring应用上下文,并加载配置文件或配置类中所声明的bean。
DispatcherServlet加载包含Web组件的bean,如控制器、视图解析器以及处理器映射
ContextLoaderListener要加载应用中的其他bean
Header One | Header Two |
---|---|
@Configuration | Item Two |
@Bean | Item Two |
@EnableWebMvc | Item Two |
@ComponentScan(“packageName”) | Item Two |
@Controller | Item Two |
@RequestMapping(value=”/”,method=”GET”) | Item Two |
@RequestParam() | Item Two |
@PathVariable | Item Two |
@Valid | 告知Spring,需要确保这个对象满足限制条件 |
Header One | Header Two |
---|---|
@AssertFalse | Item Two |
@AssertTrue | Item Two |
@DecimalMax | Item Two |
@DecimalMin | Item Two |
@Digits | Item Two |
@Future | Item Two |
@Max | Item Two |
@Min | Item Two |
@NotNull | |
@Null | Item Two |
@Past | Item Two |
@Pattern | Item Two |
@Size | Item Two |