Spring注入Date类型的三种方法总结
Spring注入Date类型的三种方法总结
测试Bean:
publicclassDateBean{
privateDatebirthday;
publicDategetBirthday(){
returnbirthday;
}
publicvoidsetBirthday(Datebirthday){
this.birthday=birthday;
}
}
方式1:利用SimpleDateFormat的构造方法注入
方式2:纯配置,先自定义CustomDateEditor,再转换类型
方式3:先用一个类重写PropertyEditorSupport的setAsText方法,再在配置文件中,配置转换类型就可以了,跟上面方法类似
publicclassMyDatePropertyEditorextendsPropertyEditorSupport{
privateStringformat;
publicStringgetFormat(){
returnformat;
}
publicvoidsetFormat(Stringformat){
this.format=format;
}
//text为需要转换的值,当为bean注入的类型与编辑器转换的类型匹配时就会交给setAsText方法处理
publicvoidsetAsText(Stringtext)throwsIllegalArgumentException{
SimpleDateFormatsdf=newSimpleDateFormat(format);
try{
this.setValue(sdf.parse(text));
}catch(ParseExceptione){
e.printStackTrace();
}
}
}
测试:
publicclassDateTest{
@Test
publicvoidtestName()throwsException{
ApplicationContextcontext=newClassPathXmlApplicationContext(
"applicationContext.xml");
DateBeanbean=(DateBean)context.getBean("datebean");
System.out.println(bean.getBirthday());
}
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!