반응형
컨버터를 모아두고 묶어서 쉽게 사용할 수 있는 기능이 ConversionService이다.
ConversionService는 인터페이스로 구성되어 있는데 단순하게 컨버팅이 가능한지 확인하는 기능과 컨버팅을 하는 기능을 제공한다.
강의에서 이 ConversionService를 코딩해 보면서 어떤건지 알아갔다.
@Test
void conversionService() {
//등록
DefaultConversionService conversionService = new DefaultConversionService();
conversionService.addConverter(new StringToIntegerConverter());
//사용
assertThat(conversionService.convert("10", Integer.class)).isEqualTo(10);
defaultConversionService는 ConversionService 인터페이스를 구현했는데 컨버팅과 컨버팅 가능 여부 체크에 추가로 컨버터 등록하는 기능도 제공한다.
주의 할 점으로는 컨버터를 등록할 때에는 StringToIntegerConverter와 같은 타입 컨버터를 명확히 알아야 한다.
강의에서 인터페이스 분리 원칙(ISP, Interface Segregation Principal)에 대해서도 언급했는데 인터페이스 분리 원칙은 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 것이다.
DefaultCOnversionService는 ConversionService(컨버터 사용에 초점)과 ConverterRegistry(컨버터 등록에 초점)을 구현했다. 이렇게 인터페이스를 분리하면 등록과 관리의 구분이 명확해진다.
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.
반응형
'Framework & Library > Spring Boot' 카테고리의 다른 글
[Spring Boot] : 스프링에 Converter 적용하기 (0) | 2022.03.15 |
---|---|
[Spring Boot] : myBatis와 JPA 간단 정리 (0) | 2022.03.15 |
[Spring Boot] : 타입 컨버터 - Converter (0) | 2022.03.14 |
[Spring Boot] : Spring type converter (0) | 2022.03.13 |
[Spring Boot] : @ControllerAdvice실습 공부 (0) | 2022.03.11 |
댓글