본문 바로가기

Spring/MVC

스프링 MVC 설정

 

저번 글에서는 스프링의 기본인 서블릿과
스프링 MVC 의 주요 클래스인 Dispatcher Servlet 의 동작 원리를 알아 봤다.

 

그럼 이제부터는 스프링 MVC 의 설정 을 알아보도록 하자

 

설정을 따로 하지 않아도 디스패처 서블릿에 등록 되어 있는 기본 설정이 사용되어 기본값들이 적용이 되어있다.

dispatcherServlet.properties

 

이 값을 사용하지 않고 빈으로 설정파일을 등록해서 MVC 설정을 하는 방법을 알아보도록 하자

이번에 알아 볼 설정 방법은 아주 로우 레벨로 설정하는 법을 배워 볼 것 이다.

저번 시간에 봤엇던 Bean 설정 파일 중에는 ViewResolver 가 있었다.

 

prefix와 suffix 를 빈으로 설정했었다.

 

이제 다른 인터페이스들도 한번 봐보도록 하자.

 

먼저 핸들러 맵핑

일단 핸들러 맵핑은 어떤 요청이 들어왔을 때 어떤 핸들러가 이 요청을 처리 할 지 정해주는 클래스였다.

 

근데 어떤 요청이 들어와서 핸들러를 찾은 후 이 핸들러가 실행 되기 전 , 또는 이후에 서블릿 필터와 비슷한 

핸들러 인터셉터라는 개념이 있다.

모든 핸들러 맵핑에 설정 할 수 있다

 

핸들러 맵핑의 설정 예

이런식으로 핸들러 맵핑에 인터셉터를 사용 할 수 있다.

 

그 다음 핸들러 어댑터

먼저 설정 중 하나 , ArgumentResolver 가 있다. 이 설정은 뭐냐면

핸들러에 메소드에 쓸 수 있는 Argument 가 여러가지가 있다.

 

@PathVarable 부터 @RequestParam 으로 요청에 들어오는 파라미터를 받는다던지 

(/hello/{id}  -- pathvariable , ?name=kwon -- requestParam)

또 파라미터가 여러가지가 있을때  User 라는 객체로 한번에 받고 싶을때 사용되는 

@ModelAttribute 

 

이렇게 핸들러에 메소드 파라미터에 쓸 수 있는 값들 + 추가적인 값들을 

ArgumentResolver 에 설정을 해서 사용할 수 있다.

 

 

MessageConverter 도 있다.

Return Type 을 핸들러 할 때 

핸들러 메소드 파라미터에서 @RequestBody 로 요청 Body 값에 들어온 값을 바인딩 받고 싶을 때 

 

 

이렇게 사용이 되는데 이 바인딩 할 때 메시지 컨버터가 사용이 된다.

이런 설정들을 모두 다 해주려면 이렇게 빈 설정들을 해줘야 하는데 

이걸 좀더 쉽게 할 수 있게 MVC 에서 제공해주는게 있다.

이 후에 알아보도록 하자

 

 

 

 

'Spring > MVC' 카테고리의 다른 글

WebMvcConfigurer - Formatter  (0) 2020.02.18
스프링 MVC 설정 - WebMvcConfigurer  (0) 2020.02.12
Dispatcher Servlet 2  (0) 2020.02.08
Dispatcher Servlet  (0) 2020.02.08
스프링 MVC 연동  (0) 2020.02.07