我的一个构造函数是这样的
public CNamespace(Date date,String age) {
this.age = age;
this.date = date;
}
在配置文件声明为
<bean id="date" class="java.util.Date"/
<bean id="cNamespace" class="com.moyl.spring6.bean.CNamespace">
<constructor-arg name="age" value="18"/>
<constructor-arg name="date" ref="date"/>
</bean>
这样在spring6.0.18版本还没任何问题,但是在6.1.0及之后的版本会报错,Cannot convert value of type 'java.lang.String' to required type 'java.util.Date': no matching editors or conversion strategy found,如果我把构造函数的形参顺序改变一下,改为String age, Date date,就没问题了
好像规则改成是按照构造函数形参的顺序来匹配了,constructor-arg标签中的name属性没用,相当于index属性
public CNamespace(Date date,String age) {
this.age = age;
this.date = date;
}
在配置文件声明为
<bean id="date" class="java.util.Date"/
<bean id="cNamespace" class="com.moyl.spring6.bean.CNamespace">
<constructor-arg name="age" value="18"/>
<constructor-arg name="date" ref="date"/>
</bean>
这样在spring6.0.18版本还没任何问题,但是在6.1.0及之后的版本会报错,Cannot convert value of type 'java.lang.String' to required type 'java.util.Date': no matching editors or conversion strategy found,如果我把构造函数的形参顺序改变一下,改为String age, Date date,就没问题了
好像规则改成是按照构造函数形参的顺序来匹配了,constructor-arg标签中的name属性没用,相当于index属性