1. 程式人生 > >SpringBoot搭建專案幾個小坑

SpringBoot搭建專案幾個小坑

WebMvcConfigurer配置類其實是Spring內部的一種配置方式,採用JavaBean的形式來代替傳統的xml配置檔案形式進行鍼對框架個性化定製。基於java-based方式的spring mvc配置,需要建立一個配置類並實現WebMvcConfigurer 介面,WebMvcConfigurerAdapter 抽象類是對WebMvcConfigurer介面的簡單抽象(增加了一些預設實現),但在在SpringBoot2.0及Spring5.0中WebMvcConfigurerAdapter已被廢棄 。官方推薦直接實現WebMvcConfigurer或者直接繼承WebMvcConfigurationSupport,方式一實現WebMvcConfigurer介面(推薦),方式二繼承WebMvcConfigurationSupport類,原來的WebMvcConfigurerAdapter已經被摒棄。

我的目錄結構如下

原先應用啟動後在login介面,一直報錯 “Request method 'GET' not supported”,修改Controller中Post方法沒有用,新增@Configuration後解決。

另外新增"/js/**","/css/**","/images/**"到下面程式碼中後,static下資源才得以正常載入。

@Configuration //必須加,不然會報" Request method 'GET' not supported"
public class MyWebMvcConfigurerAdapter  implements WebMvcConfigurer{

    @Override
    public void addInterceptors(org.springframework.web.servlet.config.annotation.InterceptorRegistry registry) {
        registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**").excludePathPatterns("/toLogin", "/login","/js/**","/css/**","/images/**");
    }

    @Override
    public void addViewControllers(org.springframework.web.servlet.config.annotation.ViewControllerRegistry registry) {
        registry.addViewController("/toLogin").setViewName("login");
    }

}

說明:addPathPatterns("/**")對所有請求都攔截,但是排除了/toLogin/login請求的攔截。

參考部落格:https://blog.csdn.net/fmwind/article/details/81235401