spring属性编辑器两种实现方式
来源:互联网 发布:名媛风的淑女打扮知乎 编辑:程序博客网 时间:2024/06/05 13:31
1.使用自定义属性编辑器
编写自定义属性编辑器*(继承PropertyEditorSupport 实现setAsText)*
package com.hl.test.propertyEditor;import java.beans.PropertyEditorSupport;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DatePropertyEditor extends PropertyEditorSupport { private String format="yyyy-MM-dd"; public void setFormat(String format){ this.format=format; } @Override public void setAsText(String text) throws IllegalArgumentException { SimpleDateFormat dateFormat = new SimpleDateFormat(format); try { Date d=dateFormat.parse(text); this.setValue(d); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
注册到spring中
<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map> <entry key="java.util.Date" value="com.hl.test.propertyEditor.DatePropertyEditor" /> </map> </property> </bean>
**
2.注册spring自带属性编辑器
**
定义属性编辑器
public class DatePropertyEditorRegistrar implements PropertyEditorRegistrar{ public void registerCustomEditors(PropertyEditorRegistry registry) { registry.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true)); }}
注册自带属性编辑器
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="propertyEditorRegistrars"> <bean id="datePropertyEditorRegistrar" class="com.hl.test.propertyEditor.DatePropertyEditorRegistrar"/> </property> </bean>
两种方式皆可实现
阅读全文