해결된 질문
작성
·
416
0
4:39 부분
assertThat(conversionService.convert(1000, String.class)).isEqualTo("1,000");
1000(객체) -> String 이므로 MyNumberFormatter에 parse()실행
assertThat(conversionService.convert("1000", Long.class)).isEqualTo(1000L);
String -> 1000(Long) 이므로 MyNumberFormatter에 print 실행
위 코드에는 MyNumberFormatter에 있는 parse(), print()를 사용하는 곳이 없는데,
포맷터 사용의 경우 DefaultFormattingConversionService에 의해서 parse(), print()가 알아서 실행된다고 이해하면 될까요?
답변 1
0
안녕하세요, lwisekiml 님! 공식 서포터즈 codesweaver 입니다.
네 맞습니다. MyNumberFormatter 는 Formatter 를 구현하고 있습니다.
그리고 DefaultFormattingConversionService 에 이 Formatter를 등록하였습니다.
그리면 사용자가 전달한 메소드 및 클래스에 따라 적절한 parse 혹은 print 메소드를 호출합니다.
감사합니다.