일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- ai
- 개발/컴퓨터네트워크
- 개발/MySQL
- ⌨️Developer/보안
- 카테캠
- 개발/OOP
- AI/GPT
- 개발/Tools/프레임워크/Spring
- 개발/환경
- 카카오 테크 캠퍼스
- ⌨️Developer
- 개발/에러
- 개발/네트워크
- 개발/Java
- 개발/Electron
- 개발/Java/Spring
- 대외활동/카카오테크캠퍼스
- 카카오테크캠퍼스
- 알고리즘
- 개발/보안
- 개발/CS/OS
- 개발/CS/알고리즘
- electron
- 개발/프레임워크&라이브러리
- AI/ML
- 개발/언어/Java
- 개발/언어론
- 개발
- 취업
- 개발/webrtc
Archives
- Today
- Total
봄수의 연구실
데이터 변환 with Spring 본문
데이터 변환 with Spring
- Custom Property Editor: Spring이 사용 가능한 경우 유형 변환에 사용할 첫 번째 메커니즘입니다.
- 변환 서비스(
Converter
및Formatter
포함): 적합한 사용자 정의PropertyEditor
를 사용할 수 없는 경우 Spring은 해당 유형에 등록된Converter
또는Formatter
를 사용합니다. - 기본 속성 편집기: 다른 변환을 수행할 수 없는 경우 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()));
}
}
이 예에서는 String
을 ExoticType
으로 변환하는 사용자 정의 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
주석은 Formatter
를 Date
필드에 적용하여 파싱하고 특정 형식으로 인쇄합니다.
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
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 |