Spring 의 WebMvcConfigure 클래스 상세 설명

1. WebMvcConfigurer 소개
WebMvcConfigure 설정 류 는 Spring 내부 의 설정 방식 으로 자바 빈 형식 으로 전통 적 인 xml 설정 파일 형식 을 대체 하여 프레임 워 크 맞 춤 형 제작 을 합 니 다.자바 - based 방식 의 spring mvc 설정 을 기반 으로 설정 클래스 를 만 들 고 WebMvcConfigure 를 실현 해 야 합 니 다. 인터페이스, WebMvcConfigurerAdapter 추상 류 는 WebMvcConfigure 인터페이스 에 대한 간단 한 추상 이다.
WebMvcConfigurerAdapter 는 SpringBoot 2.0 및 Spring 5.0 에서 WebMvcConfigurerAdapter 가 폐기 되 었 습 니 다.
공식 적 으로 WebMvcConfiguration Support 를 직접 실현 하거나 계승 하 는 것 을 추천 합 니 다.
2. WebMvcConfigure 류 방법 개관
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 {
    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 resolvers) {
    }

    default void addReturnValueHandlers(List handlers) {
    }

    default void configureMessageConverters(List> converters) {
    }

    default void extendMessageConverters(List> converters) {
    }

    default void configureHandlerExceptionResolvers(List resolvers) {
    }

    default void extendHandlerExceptionResolvers(List resolvers) {
    }

    @Nullable
    default Validator getValidator() {
        return null;
    }

    @Nullable
    default MessageCodesResolver getMessageCodesResolver() {
        return null;
    }
}

셋째, WebMvcConfigurer 상용 방법 소개

 /*       */
void addInterceptors(InterceptorRegistry var1);

/*         */
void addViewControllers(ViewControllerRegistry registry);

/*        **/
void addResourceHandlers(ResourceHandlerRegistry registry);

/*           */
void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer);

/*           */
void configureViewResolvers(ViewResolverRegistry registry);

/*            */
void configureContentNegotiation(ContentNegotiationConfigurer configurer);

좋은 웹페이지 즐겨찾기