Spring MVC 설정

Spring Web MVC

백기선님의 강의인 Spring Web MVC 강의를 듣고 공부한 내용을 정리한 글

Spring MVC 설정

Spring MVC 설정들을 @Bean으로 등록하여 사용할 수 있다.

그러나 이는 매우 Low Level로 개발하는 것이며, 과거에도 이러한 방식으로 개발하는 경우는 잘 없었다고 한다.

그래서 기본적으로는 Annotation 기반으로 설정할 수 있는 기능을 제공하고 있다.

@EnableWebMVC가 그 주인공이다.

@Configuration 애노테이션이 붙은 클래스에 @EnableWebMVC를 붙여주면 간편하게 MVC 설정이 가능하다.

@EnableWebMVC

@EnableWebMVC@Import 애노테이션에 DelegatingWebMvcConfiguration이라는 클래스를 임포트하는 것을 알 수 있다.

DelegatingWebMvcConfiguration 또한 @Confiugration 애노테이션을 갖고 있으며, WebMvcConfigurationSupport를 상속받고 있다.

WebMvcConfigurationSupport에는 핸들러 매핑이나 인터셉터 등 다양한 빈들이 등록되어있다.

사용할 때 주의할점은 WebApplicationContextServletContext를 등록해주어야한다.

왜냐하면 WebMvcConfigurationSupportServletContext를 참조하고 있기 때문에 설정값을 커스터마이징 하기위해 @EnableWebMVC를 사용했다면 반드시 WebApplicationContextServletContext를 등록해주도록 하자.

이러한 @EnableWebMVC가 왜 사용하기 간편하냐면, DelegatingWebMvcConfiguration를 사용하기 때문이다.

DelegatingWebMvcConfigurationDelegation 구조로 되어있는데, 어딘가 위임을 해서 읽어오는 식으로 구성이되어있어서 간편하게 핸들러 매핑에 인터셉터를 추가한다거나, 메시지 컨버터를 추가한다거나 하는 일을 손쉽게 할 수 있다는 것이 @EnableWebMVC의 강력한 점이다.

이러한 설정을 하기 위해서는 특별한 인터페이스를 구현해야하는데 이는 다음시간에 알아보도록 하자.

Reference

인프런 백기선님의 스프링 Web MVC



© 2022. by minkuk

Powered by minkuk