ma5626如何进入web配置_SpringMVC不使用web.xml如何配置及源码解析

SpringMVC在很久之前就不推荐使用web.xml作为项目的配置文件了,更推荐使用java configuration的方式,因为web.xml配置实在是太繁琐了,今天我们就来演示下如何使用更简单的java configuration的方式来配置SpringMVC,总共分3步,非常简单。

(1)第一步:添加入口类WebApplicationInitializer。

首先需要在项目中添加一个WebApplicationInitializer的实现类,一般是继承AbstractAnnotationConfigDispatcherServletInitializer:

public class MyWebApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
      //这个就是用来加载SpringContext的,类似于之前的springContext.xml  @Override  protected Class>[] getRootConfigClasses() {
        return new Class>[] { SpringContextConfig.class };  }  //这个就是用来加载WebContext的,类似于之前的spring-mvc.xml  @Override  protected Class>[] getServletConfigClasses() {
        return new Class>[] { SpringMvcConfig.class };  }  //这个是设置DispatcherServlet的映射路径  @Override  protected String[] getServletMappings() {
        return new String[] { "/" };  }}

后面我们再讲为啥需要加一个这样的类作为入口,这个跟Servlet3.0规范有关。

(2)第二步:添加Spring MVC的配置类。

首先SpringMvcConfig.java:

@Configuration@EnableWebMvc@ComponentScan("com.github.xjs.mvcdemo.controller")public class SpringMvcConfig implements WebMvcConfigurer {
      //配置静态资源的处理  //对静态资源的请求转发到容器缺省的servlet,而不使用DispatcherServlet  @Override  public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();  }  //json处理  @Override  public void configureMessageConverters(List> converters) {
        converters.add(new FastJsonHttpMessageConverter());  }  //配置JSP视图解析器  @Bean  public ViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();    resolver.setPrefix("/WEB-INF/views/");    resolver.setSuffix(".jsp");    resolver.setExposeContextBeansAsAttributes(true);    return resolver;  }}

相信大家对这些东西都很熟了,就是去扫描加载mvc相关的组件。

(3)第三步:添加Spring Context的配置类。

SpringContextConfig.java:

@Configuration@ComponentScan( basePackages={<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值