我想从外部文件注入,但是并不是所有属性都是String类型,比如年龄我设置的是int类型,若在XML文件中配置,如下所示:
<bean id="person" class="com.spring.custom.Person" > <property name="name" value="${name}"></property> <property name="age" value="${age}" ></property> <property name="sex" value="${sex}"></property> </bean>
则启动会报错:
Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'age'; nested exception is java.lang.NumberFormatException: For input string: "${age}"
请问在xml文件中如何进行数据类型转换?
自己回答:
这里报错是因为没有引入<context:property-placeholder location="classpath:***.properties"/>,导致没有解析成功,误以为"${age}"这个字符串是年龄。如果导入,解析成功会自动进行类型转换,另外,properties文件中,即使是字符串类型的value值也是没有必要加引号的。