저번 글에서는 스프링의 기본인 서블릿과
스프링 MVC 의 주요 클래스인 Dispatcher Servlet 의 동작 원리를 알아 봤다.
그럼 이제부터는 스프링 MVC 의 설정 을 알아보도록 하자
설정을 따로 하지 않아도 디스패처 서블릿에 등록 되어 있는 기본 설정이 사용되어 기본값들이 적용이 되어있다.
dispatcherServlet.properties
이 값을 사용하지 않고 빈으로 설정파일을 등록해서 MVC 설정을 하는 방법을 알아보도록 하자
이번에 알아 볼 설정 방법은 아주 로우 레벨로 설정하는 법을 배워 볼 것 이다.
저번 시간에 봤엇던 Bean 설정 파일 중에는 ViewResolver 가 있었다.
이제 다른 인터페이스들도 한번 봐보도록 하자.
먼저 핸들러 맵핑
일단 핸들러 맵핑은 어떤 요청이 들어왔을 때 어떤 핸들러가 이 요청을 처리 할 지 정해주는 클래스였다.
근데 어떤 요청이 들어와서 핸들러를 찾은 후 이 핸들러가 실행 되기 전 , 또는 이후에 서블릿 필터와 비슷한
핸들러 인터셉터라는 개념이 있다.
모든 핸들러 맵핑에 설정 할 수 있다
이런식으로 핸들러 맵핑에 인터셉터를 사용 할 수 있다.
그 다음 핸들러 어댑터
먼저 설정 중 하나 , 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 |