반응형
이번 강의에서는 컨버전 서비스를 만들고 포맷터와 컨버전을 등록하고 테스트를 진행했다.
포맷터를 지원하는 컨버전 서비스를 사용하면 컨버전 서비스에 포맷터를 추가할 수 있다. 내부에서 어댑터 패턴을 사용해 Formatter가 Converter처럼 동작하도록 지원한다고 한다.
FormattingConversionService는 포맷터를 지원하는 컨버전 서비스이다. DefaultFormattingConversionService는 FormattingConversionService에 통화나 숫자 관련 포맷터를 제공한다.
@Test
void formattingConversionService() {
DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
//컨버터 등록
conversionService.addConverter(new StringToIpPortConverter());
conversionService.addConverter(new IpPortToStringConverter());
//포멧터 등록
conversionService.addFormatter(new MyNumberFormatter());
//컨버터 사용
IpPort ipPort = conversionService.convert("127.0.0.1:8080", IpPort.class);
assertThat(ipPort).isEqualTo(new IpPort("127.0.0.1", 8080));
//포멧터 사용
assertThat(conversionService.convert(1000, String.class)).isEqualTo("1,000");
assertThat(conversionService.convert("1000", Long.class)).isEqualTo(1000L);
}
이번에는 테스트코드 작성으로 바로 적용해서 확인해 봤다. ForamttingConversionService는 ConversionService관련 기능을 상속받는다. 때문에 컨버터, 포맷터 둘 다 등록이 가능한 것이다. 사용할 때에는 ConversionService가 제공하는 convert를 사용하면 된다.
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.
반응형
'Framework & Library > Spring Boot' 카테고리의 다른 글
[Spring Boot] : Spring이 제공하는 기본 포맷터 (0) | 2022.03.16 |
---|---|
[Spring Boot] : 포맷터를 웹 애플리케이션에 적용하기 (0) | 2022.03.16 |
[Spring Boot] : Formatter, 포맷터 적용하기 (0) | 2022.03.16 |
[Spring Boot] : 뷰 템플릿에 컨버터 적용하기 (0) | 2022.03.15 |
[Spring Boot] : 스프링에 Converter 적용하기 (0) | 2022.03.15 |
댓글