1. 程式人生 > >022 修改springmvc的默認配置

022 修改springmvc的默認配置

prehandle div nbsp extends col 基本配置 mes spa fig

一 .概述

  在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的默認配置