3.4 스프링 타입 변환 by sh

스프링3은 일반적인 타입 변환 시스템을 제공하는 core.convert패키지를 도입했습니다. 그 시스템은 타입 변환 논리를 구현하는 SPI와 런타임에 타입 변환을 수행하는 API를 정의합니다. 스프링 컨테이너 내에서, 구체적인 빈 프로퍼티 값을 필요한 프로퍼티 타입으로 변환하는 PropertyEditor대신에 이 타입 변환 시스템을 사용할 수 있습니다. 타입 변환이 필요한 응용 프로그램의 모든 위치에서 공용 API를 사용할 수도 있습니다.

  • SPI = Service Provider Interface

  • PropertyEditor : 스프링이 기본적으로 제공하는 바인딩 용 타입 변환 API

    • 기본적으로 String과 특정 타입 간의 변환을 지원한다. PropertyEditor는 변환 과정 중에, 변환하려고 하는 Object나 String을 PropertyEditor 객체에 잠깐 저장하였다가 변환하기 때문에, 여러 Thread에서 동시에 사용하는 경우, 변환 도중에 가지고 있던 값이 변경되어 엉뚱한 변환 값을 전달할 수도 있다. 이런 이유에서 PropertyEditor는 Thread-Safe하지 않기 때문에, Sington Bean으로 사용하지 못하고 항상 'new'를 통해서 새로 생성해야 한다.

Last updated