Spring bean无法解析org.joda.time.DateTime的构造函数

时间:2015-07-06 11:01:49

标签: java spring dependency-injection jodatime spring-bean

我使用spring as

org.joda.time.DateTime注入构造函数
<bean id="myDateTime" class="org.joda.time.DateTime">
    <constructor-arg type="java.lang.Long" value="${startDateTime:#{null}}" />
</bean>

startDateTime被解析为1341571102000。但是我收到有关无法解析构造函数的错误

Cannot resolve reference to bean 'myDateTime' while setting constructor argument; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myDateTime' defined in URL [file:/path/to/spring-configuration/application-config.xml]: Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)

1 个答案:

答案 0 :(得分:1)

org.joda.time.DateTime类没有接受java.lang.Long的构造函数。您可能希望使用接受原始long的那个。为此,请尝试为type="long"指定constructor-arg

但是,如果null未设置,startDateTime的回退在这种情况下将无效。我不确定您对该回退的意图是什么,但如果您要使用long构造函数,则需要以其他方式解决它。