###WebDataBinder
데이터 받은 값들을 객체에 바인딩 해준다.
1. 타입변화
2. 데이터 검증
그리고 BingdingResult를 컨트롤러에 전달
바인딩 할 객체 바로 뒤에 와야한다.
public String save(User user,BindingResult result, Model m)
이렇게 User뒤에 와야한다.
방법은 2개 있다
1.@InitBinder 붙은 애너테이션을 매서드 안에 넣어준다.
2.필드에 직접 애너테이션을 붙인다.
propertyEditor
- 양방향 타입 변환 -> 타입, 타입 -> string
특정 타입이나 이름의 필드에 적용 가능
디폴트 propertyEditor - 스프링이 기본적으로 제공
커스텀 propertyEditor - 사용자가 직접구현하는 것이다.
단방향 타입 변환(타입 a -> 타입 b)
PropertyEditor의 단점을 개선(stateful - stateless)
양방향 타입 변환 (String -> 타입, 타입 ->String)
바인딩할 필드에 적용 -@NumberFormat, @DateTimeFormat