(스프링) 변환처리에 대한 이해
@DateTimeFormat 애노테이션을 사용하면 지정한 형식의 문자열을 Date타입으로 변환해준다.
그럼 누가 문자열을 Date타입으로 변환해줄까? 답은 WebDataBinder에 있다.
스프링 MVC는 @RequestMapping 적용 메소드의 DispatcherServlet 사이를 연결하기 위해 RequestMappingHandlerAdapter객체를 사용하는데, 이 핸들러 어댑터 객체는 요청 파라미터와 커맨드 객체 사이의 객체 사이의 변환 처리를 위해 WebDataBinder라는 것을 이용한다.
WebDataBinder는 @RequestMapping적용 메소드의 파라미터에 지정한 커맨드 클래스를 이용해서 커맨드 객체를 생성한다. 그리고 커맨드 객체의 프로퍼티와 같은 이름을 갖는 요청 파라미터를 이용해서 프로퍼티 값을 생성한다
-->WebDataBinder는 직접 타입을 변환하지 않고 위 그림처럼 ConversionService에 그 역할을 위임한다.
<mvc:annotation-driven> 태그를 사용하면, ConversionService로 DefaultFormattingConversionService
그럼 누가 문자열을 Date타입으로 변환해줄까? 답은 WebDataBinder에 있다.
스프링 MVC는 @RequestMapping 적용 메소드의 DispatcherServlet 사이를 연결하기 위해 RequestMappingHandlerAdapter객체를 사용하는데, 이 핸들러 어댑터 객체는 요청 파라미터와 커맨드 객체 사이의 객체 사이의 변환 처리를 위해 WebDataBinder라는 것을 이용한다.
WebDataBinder는 @RequestMapping적용 메소드의 파라미터에 지정한 커맨드 클래스를 이용해서 커맨드 객체를 생성한다. 그리고 커맨드 객체의 프로퍼티와 같은 이름을 갖는 요청 파라미터를 이용해서 프로퍼티 값을 생성한다
-->WebDataBinder는 직접 타입을 변환하지 않고 위 그림처럼 ConversionService에 그 역할을 위임한다.
<mvc:annotation-driven> 태그를 사용하면, ConversionService로 DefaultFormattingConversionService
댓글
댓글 쓰기