Servlet 3.0以后,新增了一些注解,使得web.xml可以省略掉。这样配合Spring的JavaConfig就可以实现免xml的项目配置,这里简单搭建一个免XML的SpringMVC。Spring为我们提供了  org.springframework.web.WebApplicationInitializer,这个接口,可以使我们以编程方式来配置相关servlet等。

这是Spring官方文档的一部分,我们可以直接实现org.springframework.web.WebApplicationInitializer 这个接口来配置Spring的DispatcherServlet,当然Spring提供了一个功能更加强劲的实现类org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer

我们可以直接继承org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer
 public class  MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

   @Override
protected Class<?>[] getRootConfigClasses() {
return new Class[0];
} //post乱码
@Override
protected Filter[] getServletFilters() {
return new Filter[]{
new CharacterEncodingFilter()
};
}
//JavaConfig类
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{
MyMvcConfig.class
};
}
//拦截
@Override
protected String[] getServletMappings() {
return new String[]{ "/" };
}
}

然后配置自己的JavaConfig即可

 @Configuration
@EnableWebMvc
@ComponentScan("这里填写自己要扫描的包")
public class MyMvcConfig{ }

这样一个简单的免xml配置的SpringMVC就配置好啦

最新文章

  1. 数据结构Java实现01----算法概述
  2. ServiceStack.Redis订阅发布服务的调用
  3. distributed caching for .net applications
  4. lightbox图片展示效果
  5. css整理-06 表和列表
  6. nfs的使用
  7. Redis的主从同步复制
  8. mssql的日期函数,如何取得当前年月日,当前时间,当前月份,当前天数,一年中第几天?
  9. python string 文本常量和模版
  10. UVa 10330 Power Transmission / 最大流
  11. PowerDesigner中SQL文件、数据库表反向生成PDM
  12. Java / Android 基于Http的多线程下载的实现
  13. ip地址0.0.0.0与127.0.0.1的区别(转载)
  14. Linux网络配置文件详解
  15. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】
  16. Linux 高级文件管理
  17. makefile中的patsubst函数有何作用?
  18. 矩阵游戏 HYSBZ - 1059(最大流)
  19. js高级-执行上下文
  20. .net图表之ECharts随笔05-不同01的语法步骤

热门文章

  1. 基于.Net Core的API框架的搭建(2)
  2. [IOI1998]Polygon
  3. [C++ STL] 常用算法总结
  4. JS在即将离开当前页面(刷新或关闭)时触发事件
  5. [ USACO 2017 FEB ] Why Did the Cow Cross the Road III (Gold)
  6. String field contains invalid UTF-8 data when serializing a protocol buffer. Use the &#39;bytes&#39; type if you intend to send raw bytes.
  7. jboss 配置虚拟路径
  8. SVN的三种merge方式【转】
  9. jq封装插件
  10. Tcl之Read files for synthesis