當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringBoot 使用WebMvcConfigurer处理请求
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot 使用WebMvcConfigurer处理请求
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 簡介
WebMvcConfigurer配置類其實是Spring內部的一種配置方式,采用JavaBean的形式來代替傳統的xml配置文件形式進行針對框架個性化定制。
基于java-based方式的spring mvc配置,需要創建一個配置類并實現WebMvcConfigurer 接口,WebMvcConfigurerAdapter 抽象類是對WebMvcConfigurer接口的簡單抽象(增加了一些默認實現),但在在SpringBoot2.0及Spring5.0中WebMvcConfigurerAdapter已被廢棄 。
官方推薦直接實現WebMvcConfigurer或者直接繼承WebMvcConfigurationSupport
- 方式一:實現WebMvcConfigurer接口(推薦)
- 方式二:繼承WebMvcConfigurationSupport類
WebMvcConfigurer 提供的接口列表如下:
public interface WebMvcConfigurer {default void configurePathMatch(PathMatchConfigurer configurer) {}default void configureContentNegotiation(ContentNegotiationConfigurer configurer) {}default void configureAsyncSupport(AsyncSupportConfigurer configurer) {}default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {}default void addFormatters(FormatterRegistry registry) {}default void addInterceptors(InterceptorRegistry registry) {}default void addResourceHandlers(ResourceHandlerRegistry registry) {}default void addCorsMappings(CorsRegistry registry) {}default void addViewControllers(ViewControllerRegistry registry) {}default void configureViewResolvers(ViewResolverRegistry registry) {}default void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {}default void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {}default void configureMessageConverters(List<HttpMessageConverter<?>> converters) {}default void extendMessageConverters(List<HttpMessageConverter<?>> converters) {}default void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {}default void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {}@Nullabledefault Validator getValidator() {return null;}@Nullabledefault MessageCodesResolver getMessageCodesResolver() {return null;} }2. 接口實現
2.1 addInterceptors
- 作用: 攔截所有接口請求,常見的JWT校驗便是在這里實現
- 實例:
寫個簡易攔截器 MyInterceptor :
public class MyInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String token = request.getHeader("token");return StrUtil.isNotEmpty(token);} }2.2 addResourceHandlers
- 作用: 重寫靜態資源配置,自定義靜態資源路徑的映射
- 示例:
這段代碼,所有從/img路徑訪問的圖片,都會從 /static/image目錄去查找
2.3 addCorsMappings
- 作用: 配置跨域請求的問題
- 示例:
2.4 addViewControllers
- 作用: 頁面跳轉轉換,可以替代controller接口的方法
- 示例:
總結
以上是生活随笔為你收集整理的SpringBoot 使用WebMvcConfigurer处理请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux生产环境CPU占用过高排查步骤
- 下一篇: gradle idea java ssm