(스프링) 변환처리에 대한 이해

@DateTimeFormat 애노테이션을 사용하면 지정한 형식의 문자열을 Date타입으로 변환해준다.
그럼 누가 문자열을 Date타입으로 변환해줄까? 답은 WebDataBinder에 있다.

스프링 MVC는 @RequestMapping 적용 메소드의 DispatcherServlet 사이를 연결하기 위해 RequestMappingHandlerAdapter객체를 사용하는데, 이 핸들러 어댑터 객체는 요청 파라미터와 커맨드 객체 사이의 객체 사이의 변환 처리를 위해 WebDataBinder라는 것을 이용한다.


WebDataBinder는 @RequestMapping적용 메소드의 파라미터에 지정한 커맨드 클래스를 이용해서 커맨드 객체를 생성한다. 그리고 커맨드 객체의 프로퍼티와 같은 이름을 갖는 요청 파라미터를 이용해서 프로퍼티 값을 생성한다



-->WebDataBinder는 직접 타입을 변환하지 않고 위 그림처럼 ConversionService에 그 역할을 위임한다.

<mvc:annotation-driven> 태그를 사용하면, ConversionService로 DefaultFormattingConversionService

댓글

이 블로그의 인기 게시물

(ElasticSearch) 결과에서 순서 정렬

(네트워크)폴링방식 vs 롱 폴링방식

(18장) WebSocekt과 STOMP를 사용하여 메시징하기