假设我有一个属性文件'config.properties',其中包含以下行:
myIntValue=4711
和一点java bean:
public MyLittleJavaBean {
private int theInt;
public void setTheInt(int theInt) { this.theInt = theInt }
}
在我的applicationContext.xml中,我读了属性文件:
<context:property-placeholder location="config.properties"/>
然后我想像这样把这些东西连在一起:
<bean id="theJavaBean" class="MyLittleJavaBean">
<property name="theInt" value="${myIntValue}"/>
</bean>
然后我会得到这个errorMessage:
org.springframework.beans.TypeMismatchException: Failed to convert property
value of type 'java.lang.String' to required type 'int' for property 'theInt'
是否可以将$ {myIntValue}转换为spring-xml中的int?
答案 0 :(得分:1)
xml配置:
<util:properties id="props">
<prop key="foobar">23</prop>
</util:properties>
<context:property-placeholder properties-ref="props" />
<bean class="Foo" p:bar="${foobar}" />
<强> Foo.java 强>
public class Foo {
private int bar;
public void setBar(int bar) {
this.bar = bar;
}
}
<强>更新强>
使用spring 3.1.2
答案 1 :(得分:0)
有时候异常不清楚,但编译器的逻辑。
在我的情况下使用 $(name.itsn) 的错误参考值给了我异常。
正确的方法是 $ {name.itsn}
看看吧! 问候 帆