java config配置springMVC
Posted 小小本科生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java config配置springMVC相关的知识,希望对你有一定的参考价值。
按照传统方式,像DispatcherServlet这样的Servlet会配置在web.xml文件中,这个文件会放到应用的WAR包里面。当然,这是配置DispatcherServlet的方法之一。但是,借助于Servlet 3规范和Spring3.1的功能增强,这种方式已经不是唯一的方案了。
首先创建一个类MyDispatcherServletInitializer继承AbstractAnnotationConfigDispatcherServletInitializer并实现它的三个方法(任何继承AbstractAnnotationConfigDispatcherServletInitializer的类都会自动地配置DispatcherServlet和spring应用上下文,Spring的应用上下文会位于应用程序的Servlet上下文之中)。
package com.bupt.config;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class MyDispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer
/**
* WebConfig.class相当于xml配置的applicationContext.xml
* 负责配置spring的ContextLoaderListener
* @return
*/
@Override
protected Class<?>[] getRootConfigClasses()
return new Class<?>[]RootConfig.class;
/**
* RootConfig.class相当于xml配置的dispatcher-servlet.xml
* 负责配置dispatcher-servlet
* @return
*/
@Override
protected Class<?>[] getServletConfigClasses()
return new Class<?>[]WebConfig.class;
/**
* "/"会将所有的请求映射到DiapatcherServlet上,即他是应用默认的Servlet
* @return
*/
@Override
protected String[] getServletMappings()
return new String[]"/";
其中WebConfig.class
package com.bupt.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration//声明这是一个配置类
@EnableWebMvc//将request参数与绑定到controller参数上 ,相当于xml配置中的 <mvc:annotation-driven/>
@ComponentScan("com.bupt.controller")//启用组件扫描
public class WebConfig extends WebMvcConfigurerAdapter
/**
* 配置视图解析器
* @return
*/
@Bean
public ViewResolver viewResolver()
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/views/");
resolver.setSuffix(".html");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)
//要求DispatcherServlet将对静态资源的请求转发到Servlet容器中默认的Servlet上,
//而不是使用DispatcherServlet本身来处理此类请求。
configurer.enable();
RootConfig.class
package com.bupt.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@Configuration
@ComponentScan(basePackages = "com.bupt",
excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, value = EnableWebMvc.class))
public class RootConfig
删除web.xml
删除applicationContext.xml
删除dispatcher-servlet.xml
重新启动Tomcat服务器,依然可以请求到我们的hello.html
以上是关于java config配置springMVC的主要内容,如果未能解决你的问题,请参考以下文章