我有一个班级
package com.foo;
public class Foo<T extends Number>{
private T value;
public Foo(T value){
this.value=value;
}
}
我正在尝试在Spring XML中实例化。
<bean id="myFoo" class="com.foo.Foo">
<constructor-arg type="java.lang.Number" value="1" />
</bean>
但是当我运行我的App时,我收到了这个错误......
我该如何解决这个问题?
答案 0 :(得分:2)
没有构造函数接受类型`java.lang.Number&#39;的参数。检查JavaDoc:java.lang.Number
您可以设置文字,但在您的情况下,您应该选择Integer,它从Number扩展。为了设置文字值,您将使用Spring的表达式语言。您可以执行以下操作:"#{new Integer(10)}"
或简写:"#{10}"
<bean id="myFoo" class="com.foo.Foo">
<constructor-arg type="java.lang.Number" value="#{new Integer(10)}" />
</bean>