Spring MVC 설정 마무리
Spring Web MVC
백기선님의 강의인 Spring Web MVC 강의를 듣고 공부한 내용을 정리한 글
Spring MVC 설정 마무리
Spring MVC 설정을 위해 배웠던 내용들을 복습해보자.
가장 처음 배운 방법은 Dispatcher Servlet이 사용하는 모든 빈을 직접 등록하는 방법이었다.
이 방법의 문제점은 Dispatcher Servlet에서 관리하는 여러 빈들을 설정하는 것이 어렵고 번거롭다는 점이다.
그래서 Spring MVC에서는 애노테이션 기반의 편리한 Spring MVC 기본 설정을 제공해주고 있다.
@EnableWebMVC가 그 주인공이다.
@EnableWebMVC 애노테이션을 가진 Class가 WebMvcConfigurer를 구현하면 빈을 등록하지않고도 손쉽게 Dispatcher Servlet의 빈을 커스터마이징할 수 있다.
심지어 스프링 부트를 쓰면 자동 설정으로 다양한 기능들을 별도의 설정없이 사용할 수 있다!
물론 스프링 부트에서도 @EnableWebMVC와 WebMvcConfigurer 인터페이스를 구현하여 빈 설정을 커스터마이징할 수 있지만, 기존의 스프링이 제공하던 자동 설정들을 사용할 수 없게 된다.
WebMvcConfigurer를 구현하고 @EnableWebMVC를 사용하지 않으면 기존의 스프링 부트 설정을 그대로 사용하면서 추가로 커스터마이징이 가능하기는 하다.
그런데 application.properties
에 Spring MVC를 커스터마이징할 수 있는 기능을 제공하고 있기 때문에 이것을 먼저 고려해보고, 이것으로 구현이 힘든 경우라면 WebMvcConfigurer를 사용하도록 하자.
만약 WebMvcConfigurer로도 구현이 힘든 경우라면 어쩔 수없이 @Bean으로 등록할 수 있기는 하다. (스프링 부트에서 그렇게 하드하게 설정을 커스터마이징하는 경우는 잘 없기는 하다.)
Reference
인프런 백기선님의 스프링 Web MVC