1. propertyEditer
- 양방형 타입 변환, 특정 타입이나 이름의 필드에 적용이 가능하다.
- 필드에 이름을 지정해주면, 그 이름인 정보에만 사용이 가능하다.
- 디폴트 프로퍼티 : 스프링이 기본적으로 제공해주는 프로퍼티.
커스텀 프로퍼티 : 사용자가 직접 구현. propertyEditorSupport를 상속하면 편리하다.
- 모든 컨트롤러 내에서의 변환 : WebBinderInitializer를 구현 후 등록
특정 컨트롤러 내에서의 변환 : 컨트롤러에 @initBinder가 붙은 메서드를 작성
디폴트 property
↑이곳에서 기본 프로퍼티들을 확인해볼 수 있습니다.
2. Converter
- 단방향 타입 변환 (타입A → 타입B)
- property Editor의 단점을 개선하기 위한 것
- 인스턴스 변수를 사용하지 않는다. (싱글톤으로 사용 가능)
- conversionService : 여러 Converter를 등록 가능
- 모든 컨트롤러 내에서의 변환 : ConfigurableWebBiningInitializer를 설정해서 사용
특정 컨트롤러 내에서의 변환 : 컨트롤러에 @InitBinder가 붙은 메서드를 작성
- 양방형 타입 변환
- 바인딩할 필드에 적용한다.
- @NumberFormat, @DateFormat
<실습>

-
Controller에서 save메서드에 Bindingresult 객체를 설정해줍니다.

-
그 위에 InitBinder 애노테이션을 설정해주고, 원하는 Date형식을 SimpleDateFormat으로 정해줍니다. 이러면 기본형식인 yyyy/mm/dd로 입력을 하지 않아도 데이터를 인식하고 출력을 해줍니다.

-
객체의 종류에 따라 설정을 달리할 수 있는데, 2번째 binder줄은 String[]객체를 #으로 나눠, 한 개의 요소가 아니라 리스트에 각각의 요소로 넣을 수가 있습니다.
<풀지 못한 오류>

sts의 디폴트 인코팅을 UTF-8로 업데이트를 하고, text파일을 저장하려고 했는데

에러 메시지가 뜨며 저장이 안되고 있다ㅜㅜ restart를 하니 한글도 갑자기 다 깨져버렸는데, 어떻게 해야될지 찾아봐도 안 나오는 상황이다ㅜㅜ
반응이 느린건지 내일 다시 시도를 해봐야겠다.