PropertyEditor属性编辑器
作用:将spring配置文件中的字符串转换成相应的对象进行注入,类似于转换器。
spring已经有内置的属性编辑器,我们可以根据需求自己定义属性编辑器
*自定义属性编辑器
1继承PropertyEditorSupport类,覆写setAsText()方法,
publicclassUtilDatePropertyEditorextendsPropertyEditorSupport{
privateStringformat="yyyy-MM-dd";
publicvoidsetAsText(Stringtext)throwsIllegalArgumentException{
SimpleDateFormatsdf=newSimpleDateFormat(format);
try{
Dated=sdf.parse(text);//text为xml文件中传过来的值
this.setValue(d);//调用此方法
}catch(ParseExceptione){
e.printStackTrace();
}
}
publicvoidsetFormat(Stringformat){
this.format=format;
}
}
2将属性编辑器注册到spring中,applicationContext-editor.xml
<beanid="customEditorConfigurer"class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<propertyname="customEditors">
<map>
<entrykey="java.util.Date">
<beanclass="com.bjsxt.spring.UtilDatePropertyEditor">
<propertyname="format"value="yyyy-MM-dd"/>
</bean>
</entry>
</map>
</property>
</bean>
依赖对象的注入方式,可以采用:
*ref属性
*<ref>标签
*内部<bean>来定义