스프링 MVC 설정(10) : 기타 WebMvcConfigure 설정, 스프링 MVC 설정 마무리

de_sj_awa·2021년 6월 27일
0

15. 기타 WebMvcConfigure 설정

CORS 설정

  • Cross Origin 요청 처리 설정
  • 같은 도메인에서 온 요청이 아니더라도 처리를 허용하고 싶다면 설정한다.

리턴 값 핸들러 설정

  • 스프링 MVC가 제공하는 기본 리턴 값 핸들러 이외에 리턴 핸들러를 추가하고 싶을 때 설정한다.

아큐먼트 리졸버 설정

  • 스프링 MVC가 제공하는 기본 아규먼트 리졸버 이외에 커스텀한 아규먼트 리졸버를 추가하고 싶을 때 설정한다.

뷰 컨트롤러

  • 단순하게 요청 URL을 특정 뷰로 연결하고 싶을 때 사용할 수 있다.

비동기 설정

  • 비동기 요청 처리에 사용할 타임아웃이나 TaskExecutor를 설정할 수 있다.

뷰 리졸버 설정

  • 핸들러에서 리턴하는 뷰 이름에 해당하는 문자열을 View 인스턴스로 바꿔줄 뷰 리졸버를
    설정한다.

Content Negotiation 설정

  • 요청 본문 또는 응답 본문을 어떤 (MIME) 타입으로 보내야 하는지 결정하는 전략을 설정한다.

16. 스프링 MVC 설정 마무리

스프링 MVC 설정은 즉 DispatcherServlet이 사용할 여러 빈 설정.

  • HandlerMapper
  • HandlerAdapter
  • ViewResolver
  • ExceptionResolver
  • LocaleResolver
  • ...

일일히 등록하려니 너무 많고, 해당 빈들이 참조하는 또 다른 객체들까지 설정하려면... 설정할게 너무 많다.

@EnableWebMvc

  • 애노테이션 기반의 스프링 MVC 설정 간편화
  • WebMvcConfigurer가 제공하는 메소드를 구현하여 커스터마이징할 수 있다.

스프링 부트

  • 스프링 부트 자동 설정을 통해 다양한 스프링 MVC 기능을 아무런 설정 파일을 만들지 않아도 제공한다.
  • WebMvcConfigurer가 제공하는 메소드를 구현하여 커스터마이징할 수 있다.
  • @EnableWebMvc를 사용하면 스프링 부트 자동 설정을 사용하지 못한다.

스프링 MVC 설정 방법

  • 스프링 부트를 사용하는 경우에는 application.properties 부터 시작.
  • WebMvcConfigurer로 시작
  • @Bean으로 MVC 구성 요소 직접 등록

참고

profile
이것저것 관심많은 개발자.

0개의 댓글