关闭

Spring4 Web MVC纯注解启动,无web.xml

标签: spring新特性部署注解类启动代替xml
2582人阅读 评论(0) 收藏 举报
基于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,就可以启动成功。




0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

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
  • 1219

SpringMVC基于代码的配置方式(零配置,无web.xml)

基于配置文件的web项目维护起来可能会更方便,但是有时候我们会有一些特殊的需求,比如防止客户胡乱更改配置,这时候我们需要给配置隐藏到代码中。 而且熟悉了用代码配置项目也能更好的帮我们理解web项目的...
  • u013816347
  • u013816347
  • 2015-08-13 10:12
  • 46651

Spring MVC 无XML配置入门示例

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

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
  • 1219

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

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

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
  • 73

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

  • kuangzhixuan
  • kuangzhixuan
  • 2017-07-05 11:03
  • 22881

JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试

Spring框架学习路线 Spring的IOCSpring的AOP,AspectJSpring的事务管理,三大框架的整合 Spring框架概述 什么是Spring?  Spring是分层的Jav...
  • u013087513
  • u013087513
  • 2017-04-22 11:11
  • 2047

Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架(注解模式哦)

这是一个不一样的技术贴,比较适合已有spring mvc开发过的人来提升,也适合那些想学习架构设计的朋友,小弟不才,希望大家能提供更好的方案和建议。
  • yakson
  • yakson
  • 2015-04-02 17:03
  • 46188

Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架(注解模式)

搭建开发环境: Netbeans8.0.2 + MySql5.6 + JDK1.7 + tomcat8.0.15 本次采用的Spring MVC Jar包如下: spring-aop...
  • htkycat
  • htkycat
  • 2015-05-12 17:31
  • 448
    个人资料
    • 访问:1810043次
    • 积分:25127
    • 等级:
    • 排名:第287名
    • 原创:800篇
    • 转载:291篇
    • 译文:20篇
    • 评论:408条
    博客专栏
    文章分类
    最新评论