Last updated
Last updated
필드 포맷팅 로직을 구현하는 Formatter
SPI는 간단하고 강력하게 작성됩니다. 다음 목록은 Formatter
인터페이스 정의를 보여줍니다.
Formatter
는 Printer
및 Parser
빌딩 블록 인터페이스에서 확장됩니다. 다음 목록은 이 두 인터페이스의 정의를 보여줍니다.
자신의 Formatter
를 만들려면, 앞에서 설명한 Formatter
인터페이스를 구현하십시오. T를 포맷 화 하려는 객체의 타입으로 매개 변수 화 하십시오. (예: java.util.Date
) print()
작업을 구현하여 T
의 인스턴스를 프린트하여 클라이언트 로컬에 표시합니다. parse()
작업을 구현하여 클라이언트 로컬에서 반환된 포맷 화된 표현으로부터 T의 인스턴스를 Parsing 하십시오. Parsing 작업이 실패하면 Formatter는 ParseException
또는 IllegalArgumentException
을 던져야 합니다. Formatter
구현이 thread-safe인 지 확인하십시오.
print() 메소드에서 format을 적용하여 출력하는 로직을 구현하고, parse() 메소드에는 format이 적용된 String 값을 분석해서 객체 인스턴스로 변환하는 로직을 구현하면 된다. 위의 인터페이스 정의에서 볼 수 있듯이, Locale 정보도 함께 넘겨주기 때문에 Localization 적용도 쉽게 처리할 수 있다.
(참고사이트)
format
서브 패키지는 편의상 여러 가지 Formatter
구현을 제공합니다. number
패키지는 java.text.NumberFormat
을 사용하는 Number 객체를 포맷 화 하기 위해 NumberStyleFormatter
, CurrencyStyleFormatter
및 PercentStyleFormatter
를 제공합니다. datetime
패키지는 java.text.DateFormat
으로 java.util.Date
객체를 포맷 화하는 DateFormatter
를 제공합니다. datetime.joda
패키지는 를 기반으로 포괄적인 datetime 포맷팅 지원을 제공합니다.
다음의 DateFormatter
는 Formatter
구현의 예 입니다.
스프링 팀은 커뮤니티 중심의 Formatter
기여를 환영합니다. 기여하려면 를 참조하십시오.