스프링 타입 컨버터

KJH·2023년 2월 21일

SpringMVC2

목록 보기
11/12

타입 컨버터란?

HTTP 요청 파라미터는 모두 문자로 처리함
Integer intvalue = Integer.valueOf(data)로 숫자로 변환해야됨

스프링의 RequestParam을 사용하면 쉽게 타입을 변환해서 받을 수 있음
(@RequestParam Integer data)

스프링은 컨버터 인터페이스 를 사용해서 이를 가능하게 한다.
org.springframework.core.convert.converter.Converter를 구현해서 사용가능


컨버전 서비스

스프링이 제공하는, 개별 컨버터를 모아두고 묶어서 사용하는 기능

인터페이스 분리 원칙 ISP (Interface Segregation Principal)
클라이언트는 자신이 이용하지 앟는 메서드에 의존하지 않아야 한다
한마디로, 꼭 필요한 것만 알면 됨

스프링은 내부에서 ConversionSercie를 사용해서 @RequestParam 등을 구현

타임리프에서 {...}는 컨버터 적용 x, {{...}}는 컨버터 적용 O
뷰 템플릿은 무조건 데이터를 문자로 출력


포멧터

객체를 특정한 포멧에 맞추어 문자로 출력하거나, 그 반대의 역활 수행

Converter VS Converter

  • Converter 는 범용 (객체->객체)
  • Formatter는 문자에 특화 (Converter의 특별버전)

Formatter 인터페이스

  • String print(T object, Locale locale) : 객체->문자
  • T parse(String text, Locale locale) : 문자->객체

스프링이 제공하는 기본 포멧터

  • @NumberFormatter : 숫자 관련
  • @DateTimeFormat : 날짜 관련

주의
HttpMessageConverter 에서는 컨버전 서비스 사용 못함

0개의 댓글