더북(TheBook)

▼ 표 4-1 스프링이 제공하는 PropertyEditor

PropertyEditor

설명

ByteArrayPropertyEditor

문자열을 상응하는 바이트 배열로 바꾼다.

CharacterEditor

문자열에서 Characterchar 타입 값을 꺼낸다.

ClassEditor

패키지를 포함하는 클래스 이름을 Class 인스턴스로 바꾼다. 이 PropertyEditor를 사용할 때는 클래스 이름 양 끝으로 위험하게 공백이 붙지 않도록 조심해야 하는데, 내부적으로 GenericXmlApplicationContext를 사용해 인스턴스를 얻을 때 ClassNotFoundException이 발생할 수 있기 때문이다.

CustomBooleanEditor

문자열을 자바 Boolean 타입으로 바꾼다.

CustomCollectionEditor

특정 타입의 소스 컬렉션(예를 들어 구성 파일에 스프링의 util 네임스페이스를 사용해 표현된 Collection)을 대상 Collection 타입으로 변환한다.

CustomDateEditor

날짜를 표현한 문자열을 java.util.Date로 바꾼다. 스프링의 ApplicationContext에 원하는 날짜 표시 타입을 가진 CustomDateEditor 구현체를 등록해야 한다.

FileEditor

문자열로 된 파일 경로를 File 인스턴스로 바꾼다. 스프링이 파일이 존재하는지 여부를 체크하지는 않는다.

InputStreamEditor

리소스를 나타내는 문자열(예를 들어 file:D:/temp/test.txtclasspath: 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 같은 공통 컴포넌트를 사용하는 애플리케이션 구성 작업을 간단하게 할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.