profile
엘 프사이 콩그루
post-thumbnail

[Spring] Converter와 ArgumentResolver를 지혜롭게 활용하기

Converter Converter 분석 Converter 용도 바인딩한 데이터가 일치하지 않는 경우 실행에 필요한 컨트롤러 메서드의 인자 타입을 맞추기 위해 바인딩한 데이터 타입을 변경하는 용도로 사용한다. 내가 만든 Converter 사용하기 우선 Converter의 구현체를 구현한다. 위와 같이 정의한 후에는 등록작업을 수행한다. @Configuration은 선언 후 WebMvcConfigurer를 선언 후 addFormatters를 override하여 registry에 converter를 등록한다 ConverterFactory 좀 더 여러 타입에 적용하고 싶은 경우 ConverterFactory를 사용할 수 있다. 예를 들면 Enum을 예로 들 수 있는데, 기존의 Enu

2023년 4월 22일
·
0개의 댓글
·
post-thumbnail

[Spring] Converter 분석하기

Converter란? Spring Converter는 전략 인터페이스로 전략패턴으로 사용된다. Converter는 제네릭으로 를 받는데 S는 sourceType, T는 targetType로 단순히 타입을 바꿔주는 함수형 인터페이스라 할 수 있다. 이를 전략패턴을 활용해 Handler처럼 사용한다. ConfigurableConversionService ConfigurableConversionService는 ConversionService와 ConverterRegistry 타입의 Mix Type이다. ConversionService는 실제 convert 동작을 수행하는 부분으로 canConvert를 이용해 내부에 Converter가 등록되어있는지 확인하고 해당 타입으로 convert가 확인 가능한지 확인한다. convert로 실제 convert 로직이다. ConverterRegistry는 addConverter와 같은 메서드를 제공하고 Convert

2023년 4월 20일
·
0개의 댓글
·