Spring4Mvc纯注解启动,无web.xml

转载 2017年01月03日 09:11:52

基于Spring4新特性,尝试了一下纯注解启动Mvc

主要类如下图:

RootConfig:

/**
 * RootConfig
 * @author zoe
 *
 */
@Configuration
@ComponentScan(basePackages={"com.spittr"},excludeFilters={@Filter(type=FilterType.ANNOTATION,value=EnableWebMvc.class)})
public class RootConfig {

}

WebConfig:

/**
 * 
 * @author zoe
 *
 */
@Configuration
@EnableWebMvc
@ComponentScan("com.spittr.web")
public class WebConfig extends WebMvcConfigurerAdapter {

@Bean
public ViewResolver viewResolver{
InternalResourceViewResolver resolver = new InternalResourceViewResolver;//jsp视图解析器
resolver.setPrefix("/WEB-INF/view/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}

/**
 * 配置静态资源的处理
 * 将请求交由Servlet处理,不经过DispatchServlet
 */
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer){
configurer.enable;
}

}

WebAppInitializer:

/**
 * web初始化类,替代xml
 * 继承Abs..类后,会同时创建DispatcherServlet和ContextLoaderListener
 * 前提:Servlet3.0
 * @author zoe
 *
 */
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

/**
 * 配置ContextLoaderListener
 */
@Override
protected Class<?> getRootConfigClasses {
return new Class<?>{RootConfig.class};
}

/**
 * 配置DispatcherServlet
 */
@Override
protected Class<?> getServletConfigClasses {
return new Class<?>{WebConfig.class};
}

/**
 * 配置ServletMappings
 */
@Override
protected String getServletMappings {
return new String  {"/"};
}

}

HomeController:

@Controller
public class HomeController {

@RequestMapping(value = "/", method = RequestMethod.GET)
public String home {
return "home";
}
}

经过测试发现tomcat7.0.12暂时不支持,官方说tomcat7已经支持servlet3.0了,应该就可以使用,原因未知。

我后来使用tomcat8.5.9,就可以启动成功。

本文为头条号作者发布,不代表今日头条立场。

maven+spring mvc环境搭建注解版(无web.xml,maven jetty插件运行)

环境: Spring Framework 4.3.7.RELEASE Servlet 3.1.0 JDK 1.8 创建maven webapp项目:maven-spring-web...
  • mn960mn
  • mn960mn
  • 2017年03月05日 11:57
  • 1208

Spring MVC 无XML配置入门示例

Spring MVC 无XML(纯 Java)配置入门示例 本示例是从《Spring in Action, Fourth Edition》一书而来,涉及的是书中5.1节部分内容,书中其实说的很详细...
  • classicer
  • classicer
  • 2016年02月26日 23:18
  • 5793

Spring 4 MVC hello world 教程-完全基于XML(带项目源码)【超赞】

原文地址:http://websystique.com/springmvc/spring-4-mvc-helloworld-tutorial-full-example/ 【本系列其他教程正在陆续翻译中...
  • w605283073
  • w605283073
  • 2016年05月07日 14:49
  • 8565

Spring 4 MVC 视图解析器(XML JSON PDF等) 纯注解(带源码)【推荐】

原文地址:http://websystique.com/springmvc/spring-4-mvc-contentnegotiatingviewresolver-example/ 【本系列其他教程...
  • w605283073
  • w605283073
  • 2016年05月07日 16:37
  • 4587

maven+spring mvc环境搭建注解版(无web.xml,maven jetty插件运行)

环境: Spring Framework 4.3.7.RELEASE Servlet 3.1.0 JDK 1.8 创建maven webapp项目:maven-spring-web...
  • mn960mn
  • mn960mn
  • 2017年03月05日 11:57
  • 1208

spring mvc +hibernate注解版测试增,删,改,查 简单xml配置应用

  • 2014年01月01日 23:39
  • 27.94MB
  • 下载

Spring Web MVC简介 、基于XML配置的MVC应用 、基于注解配置的MVC应用

  • kuangzhixuan
  • kuangzhixuan
  • 2017年07月05日 11:03
  • 22880

SPRINGMYBATIS01 Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用

达内java学习day52 Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用...
  • qq_38131668
  • qq_38131668
  • 2017年06月29日 12:01
  • 69

Spring 4 MVC HelloWorld 纯注解方式(带源码)【超赞】

【本系列其他教程正在陆续翻译中,点击分类:spring 4 mvc 进行查看】 【翻译 by 明明如月 QQ 605283073】 #项目下载地址:http://websystique.com/?...
  • w605283073
  • w605283073
  • 2016年05月07日 15:25
  • 7348

Spring 4 MVC HelloWorld 纯注解方式(带源码)

#项目下载地址:http://websystique.com/?smd_process_download=1&download_id=1714#。 特别说明:此系列教程有的童鞋下载下来运行 经常40...
  • bieleyang
  • bieleyang
  • 2017年02月06日 16:08
  • 257
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring4Mvc纯注解启动,无web.xml
举报原因:
原因补充:

(最多只允许输入30个字)