创建类型为java.io.File[不明确的构造函数参数类型]的bean时出错
我有以下Springbean配置创建类型为java.io.File[不明确的构造函数参数类型]的bean时出错,java,spring,file,ambiguous,Java,Spring,File,Ambiguous,我有以下Springbean配置 <bean id="fileBean" class="java.io.File"> <constructor-arg type="java.lang.String" value="$prop{file.path.property}" /> </bean> java.io.File只有一个构造函数,只有一个字符串参数,所以我不确定为什么会有歧义。感谢您的帮助。
<bean id="fileBean" class="java.io.File">
<constructor-arg type="java.lang.String"
value="$prop{file.path.property}" />
</bean>
java.io.File只有一个构造函数,只有一个字符串参数,所以我不确定为什么会有歧义。感谢您的帮助。找到了解释发生了什么的方法。如果没有指定参数索引,spring将按类型匹配参数。在本例中,spring接受我的单字符串参数并将其传递给java.io.File构造函数,该构造函数接受两个字符串。这可以通过指定构造函数arg索引来修复
<bean id="fileBean" class="java.io.File">
<constructor-arg index="0"
type="java.lang.String"
value="$prop{file.path.property}" />
</bean>
这里只有我的两分钱:我今天也有同样的问题。我有一个单元测试来检查Spring是否可以读取我的XML配置并生成所有必要的bean。它失败了,因为我编辑了错误的XML文件。我在编辑Ant构建的“dist”版本,而不是源代码管理的正确版本
经验教训:仔细阅读这些Spring异常消息(带有XML文件路径) 同样的情况也发生在我身上,例外情况出现在我正在编辑的另一个xml文件中
<bean id="fileBean" class="java.io.File">
<constructor-arg index="0"
type="java.lang.String"
value="$prop{file.path.property}" />
</bean>