Java Property 는 기본적으로 String 으로 인식 하기 때문에, 다른 타입의 값을 setter 하는 경우 SpringExpressionLanguage (SpEL) 문법을 사용하여 설정 파일에서 타입 캐스팅을 해줘야 사용이 가능 하다.
<beans:property name="port" value="#{T(java.lang.Integer).parseInt(config['key'])}"
Primitive Type 은 Null 값을 허용할 수 없기 때문에, Wrapper 클래스로 타입 캐스팅을 해서 사용 하자. Web 환경에서는 Null 값을 setter 할 수 없어 예외 상황이 발생 하기도 한다.
Primitive |
Wrapper Class |
Constructor Argument |
boolean |
Boolean |
boolean or String |
byte |
Byte |
byte or String |
char |
Character |
char |
int |
Integer |
int or String |
float |
Float |
float, double or String |
double |
Double |
double or String |
long |
Long |
long or String |
short |
Short |
short or String |
Wrapper 클래스 종류는 위 표를 참고 하자.
참고 사이트