Spring给bean注⼊⽇期属性的⽅法
通常情况下,我们给Spring的bean注⼊属性可以通过setter⽅法和构造器⽅法给bean注⼊属性值,这两种⽅法都需要使⽤property标签给bean的属性赋值。
如下所⽰,使⽤setter⽅法给bean注⼊Date属性值
public class DateTest {
private Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date=date;
}
@Override
public String toString() {
return"DateTest [date="+date+"]";
}
}
bean配置⽂件:
<?xml version="1.0"encoding="UTF-8"?>
<beans
xmlns=";
xmlns:xsi=";
xmlns:p=";
xsi:schemaLocation=";>
<bean id="dateTest"class="com.spenglu.DateTest">
<property name="date"value="2017-11-24"></property>
</bean>
</beans>
运⾏如下代码:
public static void main(String[]args) {
ApplicationContext context=
new ClassPathXmlApplicationContext("l");
DateTest date= (Bean("dateTest");
System.out.println(date);
}
输出结果为:
Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'date';
由输出结果可以知道,输出结果报错,报了类型转换问题,就是不能将String类型的直接赋值给为Date类型的。因此,我们要解决的问题就是怎样将String值转换为Date类型的。
在Spring中可以通过⼯⼚bean来将字符串转换为Date对象。⽽在Spring中充当这个⼯⼚bean的为
<?xml version="1.0"encoding="UTF-8"?>
<beans
xmlns=";
xmlns:xsi=";
xmlns:p=";
xsi:schemaLocation=";>
<bean id="simpleDateFormat"class="SimpleDateFormat"> <constructor-arg value="yyyy-MM-dd"></constructor-arg> </bean>
<bean id="dateTest"class="com.yiibai.pojo.DateTest">
<property name="date">
<!-- 下⾯这个bean是⽤来将String对象转换为Date对象的 -->
<bean factory-bean="simpleDateFormat"factory-method="parse">
<constructor-arg value="2017-11-24"></constructor-arg>
</bean>
</property>
</bean>
</beans>
输出结果为:
string转date的方法DateTest [date=Fri Nov 24 00:00:00 CST 2017]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。