[Japring-Study 4] spring-mvc-4

Kim yohan·2024년 8월 11일

JapringStudy

목록 보기
4/12
post-thumbnail

spring-mvc 과제의 마지막이다!
WebMvcConfigurer를 통해, interceptor, argument resolver를 추가할 수 있음을 배웠다!


WebMvcConfigurer

WebMvcConfigurer는 Spring Framework에서 웹 애플리케이션의 설정을 도와주는 인터페이스로, Spring MVC의 동작을 사용자가 정의하거나 기본 설정을 변경할 수 있다. 인터셉터나 ArgumentResolver를 추가할 수 있고, 그 외 다양한 설정을 변경할 수 있다.

원하는 설정을 변경하려면, WebMvcConfigurer을 구현한 구현체를 만들어주고, @Configuration을 붙여주면 된다.

//interceptor 추가하는 예시
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
    
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new CheckLoginInterceptor())
        		.addPathPatterns("/admin/**");
    }
}

주의할 점!
이 때, @EnableWebMvc를 빼주어야 한다.
만약 WebMvcConfigurer를 구현하면서 @EnableWebMvc를 같이 붙여주면 스프링의 기본 설정들이 일부 무시된다.



EnableWebMvc

Spring에서는 @Enable~ 어노테이션을 @Configuration이 붙은 설정 클래스에 붙임으로써 설정의 최신 전략들을 기반으로 설정을 자동화하는 기능을 제공했다. @EnableWebMvc가 대표적인데, 스프링이 제공하는 웹과 관련된 최신 전략 빈들이 등록되고, 빈 설정자는 WebMvcConfigurer이다.

매번 @Enable어노테이션을 붙이는 것은 번거롭기 때문에, 스프링 부트에서는 AutoConfigure 기능을 통해 많은 설정들이 자동화되도록 한다.
main 클래스에 @SpringBootApplication이 붙어있는데, 그 안에 @EnableAutoConfiguration이 붙어있다.

profile
꾸준히 성실하게

0개의 댓글