码迷,mamicode.com
首页 > 编程语言 > 详细

022 修改springmvc的默认配置

时间:2018-09-25 22:53:08      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:class   因此   span   mvc   extends   exce   tpm   视图解析器   apt   

一 .概述

  在springboot之中,springmvc的默认配置都是配置好的,但是在我们使用的过程之中需要对默认的配置进行修改.

  本节,我们完成对springmvc的默认配置的修改,

  [1]了解springmvc的自动配置原理

  [2]修改springmvc的默认配置.


 

二 .springmvc的自动配置原理

  springboot在默认情况进行对springmvc进行了配置,我们首先看一下自动配置类.

  WebMvcAutoConfiguration在这个类之中帮助我们配置好了springmvc的基本配置类型.

[1]怎么添加视图解析器

  我们自己可以向容器之中添加一个视图解析器就可以了.

[2]静态资源等文件,也是通过这个类进行配置的.

[3]参数类型转换器

  比如日期格式化的内容就在application.yml文件之中进行配置.

如果我们想要配置一个自己的转换器,我们直接就在springboot之中自己配置一个就好了.

[4]HttpMessageConverter

  消息转换器.我们自己给容器之中添加一个HttpMessageConverter就好了.

我们发现,springmvc的定制现在变得很简单了,我们需要什么,就向ioc容器之中添加就好了.


 

三 .如何配置拦截器等组件

  在上面的自动配置之中,springmvc不可能帮助我们实现自动配置.

  因此,springboot帮助我们提供了一个自动适配器,我们通过这个适配器来完成我们自己的配置就可以了.

  我们只要向容器之中定制一个WebMvcConfigurerAdapter的类型组件.

  下面演示一个拦截器的配置.

 下面是我们自己定义一个拦截器对象 

public class PreInterceptor extends HandlerInterceptorAdapter {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        System.out.println("请求被我们拦截了!!");
        return true;
    }

}

下面我们将这个配置配置到我们的springboot之中.  

@Configuration
public class MVCConfig {

    @Bean
    public WebMvcConfigurerAdapter mvcConfig() {

        // 通过这个方法,我们就能像容器之中添加很多的mvc的组件
        return new WebMvcConfigurerAdapter() {

            // 添加我们自己的拦截器
            @Override
            public void addInterceptors(InterceptorRegistry registry) {
                // 添加一个拦截器对象
                registry.addInterceptor(new PreInterceptor())
                        // 拦截所有的请求
                        .addPathPatterns("/*");
            }

        };
    }
}

那么,现在我们的所有的请求都会被我们的拦截器拦截了.

022 修改springmvc的默认配置

标签:class   因此   span   mvc   extends   exce   tpm   视图解析器   apt   

原文地址:https://www.cnblogs.com/trekxu/p/9703864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!