Skip to main content

스프링 타입 컨버터

·152 words·1 min· loading
Table of Contents
SpringMVC2 - This article is part of a series.
Part 11: This Article

타입 컨버터란?
#

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 에서는 컨버전 서비스 사용 못함

SpringMVC2 - This article is part of a series.
Part 11: This Article