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