Spring Boot WebMvcConfigurerAdapter 過時問題
阿新 • • 發佈:2018-12-12
可以將 已過時的 WebMvcConfigurerAdapter 換成 WebMvcConfigurer
WebMvcConfigurer 介面 原始碼如下:
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package org.springframework.web.servlet.config.annotation; import java.util.List; import org.springframework.format.FormatterRegistry; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.lang.Nullable; import org.springframework.validation.MessageCodesResolver; import org.springframework.validation.Validator; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.HandlerMethodReturnValueHandler; import org.springframework.web.servlet.HandlerExceptionResolver; public interface WebMvcConfigurer { //Spring Boot 配置自己的 path 匹配規則 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) { } @Nullable default Validator getValidator() { return null; } @Nullable default MessageCodesResolver getMessageCodesResolver() { return null; } }
WebMvcConfigurer 的實現類
package com.kino.springboot04.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * Created by RM on 2018/9/30. */ @Configuration public class MyMvcConfig implements WebMvcConfigurer { /** * Spring Boot 配置自己的 path 匹配規則 * @param configurer */ @Override public void configurePathMatch(PathMatchConfigurer configurer) { // 常用的兩種 // 匹配結尾 / :會識別 url 的最後一個字元是否為 / // localhost:8080/test 與 localhost:8080/test/ 等價 configurer.setUseTrailingSlashMatch(true); // 匹配字尾名:會識別 xx.* 字尾的內容 // localhost:8080/test 與 localhost:8080/test.jsp 等價 configurer.setUseSuffixPatternMatch(true); } /** * 瀏覽器髮指定請求到指定頁面 * @param registry */ @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("login"); } }