▼ 표 4-1 스프링이 제공하는 PropertyEditor
PropertyEditor |
설명 |
ByteArrayPropertyEditor |
문자열을 상응하는 바이트 배열로 바꾼다. |
CharacterEditor |
문자열에서 Character나 char 타입 값을 꺼낸다. |
ClassEditor |
패키지를 포함하는 클래스 이름을 Class 인스턴스로 바꾼다. 이 PropertyEditor를 사용할 때는 클래스 이름 양 끝으로 위험하게 공백이 붙지 않도록 조심해야 하는데, 내부적으로 GenericXmlApplicationContext를 사용해 인스턴스를 얻을 때 ClassNotFoundException이 발생할 수 있기 때문이다. |
CustomBooleanEditor |
문자열을 자바 Boolean 타입으로 바꾼다. |
CustomCollectionEditor |
특정 타입의 소스 컬렉션(예를 들어 구성 파일에 스프링의 util 네임스페이스를 사용해 표현된 Collection)을 대상 Collection 타입으로 변환한다. |
CustomDateEditor |
날짜를 표현한 문자열을 java.util.Date로 바꾼다. 스프링의 ApplicationContext에 원하는 날짜 표시 타입을 가진 CustomDateEditor 구현체를 등록해야 한다. |
FileEditor |
문자열로 된 파일 경로를 File 인스턴스로 바꾼다. 스프링이 파일이 존재하는지 여부를 체크하지는 않는다. |
InputStreamEditor |
리소스를 나타내는 문자열(예를 들어 file:D:/temp/test.txt나 classpath: test.txt와 같은 파일 리소스)을 InputStream 프로퍼티로 바꾼다. |
LocaleEditor |
로케일을 나타내는 ko_KR 같은 문자열을 java.util.Locale 인스턴스로 바꾼다. |
PatternEditor |
문자열을 JDK Pattern 객체로 변환한다. 또는 그 반대로 컴파일된 Pattern에서 문자열 패턴을 얻는다. |
PropertiesEditor |
key1=value1 key2=value2 keyn=valuen의 형태로 이뤄진 문자열을 해당 프로퍼티가 설정된 java.util.Properties 인스턴스로 바꾼다. |
StringTrimmerEditor |
문자열 주입 전에 문자열 앞뒤에 붙은 공백이나 탭과 같은 화이트스페이스를 제거한다. 명시적으로 이 PropertyEditor를 등록해야 한다. |
URLEditor |
문자열로 나타낸 URL을 java.net.URL 인스턴스로 바꾼다. |
이들 PropertyEditor는 스프링으로 작업하는 데 편리한 기반이 되며, 적절한 PropertyEditor를 사용하면 파일이나 URL 같은 공통 컴포넌트를 사용하는 애플리케이션 구성 작업을 간단하게 할 수 있습니다.