所有的错误信息:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountService' defined in class path resource [bean.xml]: Unsatisfied dependency expressed through constructor parameter 2: Could not convert argument value of type [java.lang.String] to required type [java.util.Date]: Failed to convert value of type 'java.lang.String' to required type 'java.util.Date';
代码:(场景在构造方法注入参数ioc出错)
解析:spring是转换不了日期类型的
<!--构造函数的注入:
使用的标签:constructor-arg
标签出现的位置:bean标签的内部
标签中的属性
type:用于指定要注入放入数据的类型,该数据类型也是构造函数中某个或某些参数的类型
index:用于指定要注入的数给构造函数中指定索引位置的参数赋值,索引的位置是从0开始的
name:用于指定给构造函数中指定名称的参数赋值 常用的
===============以上三个用于指定给构造函数中的哪个参数赋值========
value
rel
-->
<bean id="accountService" class="com.shiyaxin.service.impl.AccountServiceImpl">
<constructor-arg name="age" value="18"></constructor-arg>
<constructor-arg name="name" value="周润发"></constructor-arg>
<constructor-arg name="birthday" value="1998-9-9"></constructor-arg>
</bean>
解决办法:手动写一个引入日期类型的bean即可
<bean id="accountService" class="com.shiyaxin.service.impl.AccountServiceImpl">
<constructor-arg name="age" value="18"></constructor-arg>
<constructor-arg name="name" value="周润发"></constructor-arg>
<constructor-arg name="birthday" ref="now"></constructor-arg>
</bean>
<!--配置一个日期类,spring不能转换我们手动引入一个-->
<bean id="now" class="java.util.Date">
</bean>
</beans>