10

我在使用 Spring 和构造函数注入时遇到问题。我想动态创建具有名称 ( String) 和特殊 ID ( long) 的对象。

但是当加载 spring.xml 文件时会发生异常。

线程“主”java.lang.ExceptionInInitializerError 中的异常

原因:org.springframework.beans.factory.UnsatisfiedDependencyException:创建在类路径资源[spring.xml]中定义的名称为“someBean”的bean时出错:通过类型为[long]的索引0的构造函数参数表示不满足的依赖关系:构造函数参数不明确类型 - 您是否指定了正确的 bean 引用作为构造函数参数?

我的spring.xml:

    <bean id="someBean" class="someClass" >
        <constructor-arg index="0" type="java.lang.String" value=""/>       
        <constructor-arg index="1" type="long" value=""/>
    </bean>
</beans>

那么那里有什么问题呢?构造函数参数的索引为 1(而不是 0,如异常所说)

4

1 回答 1

11

在构造函数参数中,您可以使用原始类型long和值0,或者包装类型java.lang.Long和空值。另外,为了控制事情,我会将第二个参数的值显式设置为 0。

于 2013-06-23T11:40:48.493 回答