인프런 커뮤니티 질문&답변

lwisekiml님의 프로필 이미지
lwisekiml

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

포맷터를 지원하는 컨버전 서비스

포맷터의 parse(), print()는 자동으로 사용되는 건가요?

해결된 질문

작성

·

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 메소드를 호출합니다.

감사합니다.

lwisekiml님의 프로필 이미지
lwisekiml

작성한 질문수

질문하기