@DateTimeFormat 변환 처리에 대한 이해
지정한 형식의 문자열을 LocalDateTime 타입으로 변환
누가 LocalDateTime 타입으로 변환해줄까? WebDataBinder
WebDataBinder
스프링 MVC는 요청 매핑 애노테이션 적용 메서드와 DispatcherServlet 사이를 연결하기 위해 RequestMappingHandlerAdapter 객체를 사용한다.
RequestMappingHandlerAdapter 객체는 요청 파라미터와 커맨드 객체 사이의 변환 처리를 위해 WebDataBinder를 이용한다.
- WebDataBinder는 커맨드 객체를 생성
- 커맨드 객체의 프로퍼티와 같은 이름을 갖는 요청 파라미터를 이용해서 프로퍼티 값을 생성

WebDataBinder는 직접 타입을 변환하지 않고 ConversionService에 역할을 위임한다.
스프링 MVC를 위한 설정인 @EnableWebMvc 애노테이션을 사용하면 DefaultFormattingConversionService를 ConversionService로 사용한다.
DefaultFormattingConversionService
int, long과 같은 기본 데이터 타입뿐만 아니라 @DateTimeFormat 애노테이션을 사용한 시간 관련 타입 변환 기능을 제공한다.
이러한 이유로 @DataTimeFormat 애노테이션만 붙이면 지정한 형식의 문자열을 시간 타입 값으로 받을 수 있다.
WebDataBinder는 <form:input>에도 사용된다
path 속성에 지정한 프로퍼티 값을 String으로 변환해서 <>태그의 value 속성값으로 생성한다.
이때 프로퍼티 값을 String으로 변환할 때 WebDataBinder의 ConversionService를 사용한다.
'Spring' 카테고리의 다른 글
[Spring] 쿠키 사용하기 (0) | 2024.05.25 |
---|---|
[Spring] 인터셉터 사용해보기 (0) | 2024.05.22 |
[Spring] HttpSession 사용해보기 (0) | 2024.05.20 |
[Spring] Bean Validation 검증 (0) | 2024.05.18 |
[Spring] 컨트롤러 범위 Validator @InitBinder (0) | 2024.05.18 |
@DateTimeFormat 변환 처리에 대한 이해
지정한 형식의 문자열을 LocalDateTime 타입으로 변환
누가 LocalDateTime 타입으로 변환해줄까? WebDataBinder
WebDataBinder
스프링 MVC는 요청 매핑 애노테이션 적용 메서드와 DispatcherServlet 사이를 연결하기 위해 RequestMappingHandlerAdapter 객체를 사용한다.
RequestMappingHandlerAdapter 객체는 요청 파라미터와 커맨드 객체 사이의 변환 처리를 위해 WebDataBinder를 이용한다.
- WebDataBinder는 커맨드 객체를 생성
- 커맨드 객체의 프로퍼티와 같은 이름을 갖는 요청 파라미터를 이용해서 프로퍼티 값을 생성

WebDataBinder는 직접 타입을 변환하지 않고 ConversionService에 역할을 위임한다.
스프링 MVC를 위한 설정인 @EnableWebMvc 애노테이션을 사용하면 DefaultFormattingConversionService를 ConversionService로 사용한다.
DefaultFormattingConversionService
int, long과 같은 기본 데이터 타입뿐만 아니라 @DateTimeFormat 애노테이션을 사용한 시간 관련 타입 변환 기능을 제공한다.
이러한 이유로 @DataTimeFormat 애노테이션만 붙이면 지정한 형식의 문자열을 시간 타입 값으로 받을 수 있다.
WebDataBinder는 <form:input>에도 사용된다
path 속성에 지정한 프로퍼티 값을 String으로 변환해서 <>태그의 value 속성값으로 생성한다.
이때 프로퍼티 값을 String으로 변환할 때 WebDataBinder의 ConversionService를 사용한다.
'Spring' 카테고리의 다른 글
[Spring] 쿠키 사용하기 (0) | 2024.05.25 |
---|---|
[Spring] 인터셉터 사용해보기 (0) | 2024.05.22 |
[Spring] HttpSession 사용해보기 (0) | 2024.05.20 |
[Spring] Bean Validation 검증 (0) | 2024.05.18 |
[Spring] 컨트롤러 범위 Validator @InitBinder (0) | 2024.05.18 |