注解配置MVC
使用配置类和注解联合使用的方式代替xml配置文件
在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类, 如果找到的话就用它来配置Servlet容器。 Spring提供了这个接口的实现,名为 SpringServletContainerInitializer,这个类反过来又会查找实现WebApplicationInitializer的类并将配 置的任务交给它们来完成。Spring3.2引入了一个便利的WebApplicationInitializer基础实现,名为 AbstractAnnotationConfigDispatcherServletInitializer,当我们的类扩展了 AbstractAnnotationConfigDispatcherServletInitializer并将其部署到Servlet3.0容器的时候,容器会自 动发现它,并用它来配置Servlet上下文。
下面的类是用来被servlet扫描的,用来代替web.xml的
里面配置了替代spring的IOC的配置文件的类,和替代mvc的IOC的配置文件的类
以及配置了dispatcher的有效路径和过滤器
public class WebInit extends AbstractAnnotationConfigDispatcherServletInitializer {
/*** 指定spring的配置类*/
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
}
/*** 指定SpringMVC的配置类 * @return */
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{WebConfig.class};
}
/*** 指定DispatcherServlet的映射规则,即url-pattern * @return */
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
/*** 添加过滤器 * @return */
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
encodingFilter.setEncoding("UTF-8");
encodingFilter.setForceRequestEncoding(true);
HiddenHttpMethodFilter hiddenHttpMethodFilter = new HiddenHttpMethodFilter();
return new Filter[]{encodingFilter, hiddenHttpMethodFilter};
}
}
然后需要分别配置两个类作为spring和mvc的配置类
这两个类里面包含在IOC文件里面的一切信息
需要在类前添加Configuration注解,指定为配置类
@Configuration
public class SpringConfig {
//ssm整合之后,spring的配置信息写在此类中
}
SpringMVC执行流程
标签:return,SpringMVC,spring,配置,笔记,学习,new,Class From: https://www.cnblogs.com/darkpar/p/16711726.html