봄수의 연구실

데이터 변환 with Spring 본문

DEV/Java

데이터 변환 with Spring

berom 2023. 5. 27. 23:18

데이터 변환 with Spring

  1. Custom Property Editor: Spring이 사용 가능한 경우 유형 변환에 사용할 첫 번째 메커니즘입니다.
  2. 변환 서비스(ConverterFormatter 포함): 적합한 사용자 정의 PropertyEditor를 사용할 수 없는 경우 Spring은 해당 유형에 등록된 Converter 또는 Formatter를 사용합니다.
  3. 기본 속성 편집기: 다른 변환을 수행할 수 없는 경우 Spring은 기본 PropertyEditor로 폴백합니다.

PropertyEditor

PropertyEditor는 양방향 유형 변환을 위해 Spring에서 사용되는 Java Beans의 기능입니다.

속성 편집기에는 두 가지 유형이 있습니다.

  • Default Property Editor: Spring에서 기본적으로 제공합니다.
  • Custom Property Editor: 일반적으로 PropertyEditorSupport를 확장하여 사용자가 구현합니다.
public class ExoticTypeEditor extends PropertyEditorSupport {
    @Override
    public void setAsText(String text) {
        setValue(new ExoticType(text.toUpperCase()));
    }
}

이 예에서는 StringExoticType으로 변환하는 사용자 정의 PropertyEditor가 생성됩니다.
양방향 변환이기 때문에, String에서 ExoticType으로, ExoticType에서 String으로 모두 변환할 수 있습니다.

Converter

Converter는 인스턴스 변수에 의존할 필요가 없는 PropertyEditor에 대한 보다 세련된 대안으로 스레드로부터 안전합니다.

public class StringToExoticTypeConverter implements Converter<String, ExoticType> {
    @Override
    public ExoticType convert(String source) {
        return new ExoticType(source.toUpperCase());
    }
}

Formatter

'Formatter’는 'Converter’와 유사하지만 특히 지역화된 필드 값을 구문 분석하고 인쇄하는 데 사용됩니다.
Formatter는 일반적으로 바인딩해야 하는 필드에 적용됩니다

@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date;

이 예에서 @DateTimeFormat 주석은 FormatterDate 필드에 적용하여 파싱하고 특정 형식으로 인쇄합니다.

부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>

728x90

'DEV > Java' 카테고리의 다른 글

Easy Random  (0) 2023.06.02
JDBC  (0) 2023.06.02
데이터 검증 with Spring  (0) 2023.05.27
Spring MVC 예외 처리 및 상태 코드 매핑 가이드  (0) 2023.05.26
예외처리 with Spring  (0) 2023.05.26