Converter (4) 썸네일형 리스트형 스프링이 제공하는 기본 포맷터 - @NumberFormat, @DateTimeFormat 스프링은 자바에서 기본으로 제공하는 타입들에 대해 수많은 포맷터를 기본으로 제공합니다. IDE에서 Formatter 인터페이스의 구현 클래스를 찾아보면 수 많은 날짜나 시간 관련 포맷터가 제공되는 것을 확인할 수 있습니다. 그런데 포맷터는 기본 형식이 지정되어 있기 때문에, 객체의 각 필드마다 다른 형식으로 포맷을 지정하기는 어렵습니다. 스프링은 이런 문제를 해결하기 위해 애노테이션 기반으로 원하는 형식을 지정해서 사용할 수 있는 매우 유용한 포맷터 두 가지를 기본으로 제공합니다. @NumberFormat : 숫자 관련 형식 지정 포맷터 사용, NumberFormatAnnotationFormatterFactory @DateTimeFormat : 날짜 관련 형식 지정 포맷터 사용, Jsr310DateTim.. 스프링 포맷터(Formatter), 포맷터를 지원하는 ConversionService 스프링 포맷터란(Formatter)?? 웹 애플리케이션에서 객체를 문자로, 문자를 객체로 변환하는 예 화면에 숫자를 출력해야 하는데, Integer => String 출력 시점에 숫자 1000 문자 "1,000" 이렇게 1000 단위에 쉼표를 넣어서 출력하거나, 또는 "1,000"라는 문자를 1000이라는 숫자로 변경해야 합니다. 날짜 객체를 문자인 "2021-01-01 10:50:11" 와 같이 출력하거나 또는 그 반대의 상황 Locale 여기에 추가로 날짜 숫자의 표현 방법은 Locale 현지화 정보가 사용될 수 있습니다. 이렇게 객체를 특정한 포멧에 맞추어 문자로 출력하거나 또는 그 반대의 역할을 하는 것에 특화된 기능이 바로 포맷터(Formatter)입니다. 포맷터는 컨버터의 특별한 버전으로 이해.. 컨버전 서비스 사용하기 - ConversionService (타임리프, 폼) 컨버전 서비스란? 타입 컨버터를 하나하나 직접 찾아서 타입 변환에 사용하는 것은 매우 불편합니다. 개별 컨버터를 모아 두고 그것들을 묶어서 편리하게 사용할 수 있는 기능을 제공하는데, 이것이 바로 컨버전 서비스( ConversionService )입니다. ConversionService 인터페이스 컨버전 서비스 인터페이스는 단순히 컨버팅이 가능한가? 확인하는 기능과, 컨버팅 기능을 제공합니다. package org.springframework.core.convert; import org.springframework.lang.Nullable; public interface ConversionService { boolean canConvert(@Nullable Class sourceType, Class ta.. 스프링 타입 컨버터 - Converter 스프링 타입 컨버터란? 스프링을 사용해 애플리케이션을 개발할 때 문자를 숫자로 변환하거나, 반대로 숫자를 문자로 변환해야 하는 것처럼 타입을 변환할 때 사용하는 도구입니다. 스프링 MVC가 제공하는 @RequestParam을 사용해 타입을 변환해보겠습니다. @GetMapping("/hello-v2") public String helloV2(@RequestParam Integer data) { System.out.println("data = " + data); return "ok"; } 요청 http://localhost:8080/hello-v2?data=10 HTTP 쿼리 스트링으로 전달하는 data=10 부분에서 10은 숫자 10이 아니라 문자 10입니다. 스프링이 제공하는 @RequestParam을 .. 이전 1 다음