2.spring非自动类型转换
对bean属性的注入过程中,如果一些类型不能注入,则可以类型转换,自定义转换该类型的转换器,如上面的birthday属性是日期性的,spring 不能自动注入该类型,则自定义转换器如下:
public class myDateEditor extends PropertyEditorSupport {
@Override
public void setAsText(String text) throws IllegalArgumentException {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
Date date = format.parse(text);
setValue(date);
} catch (ParseException e) {
e.printStackTrace();
new IllegalAccessException(e.getMessage());
}
}
}
配置文件如下 :只要这样配置后spring 遇到java.util.Date类型后会自动调用上面的转换器,注入bean属性
<bean id="myeditor"
class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="java.util.Date">
<bean id="dateEditor" class="edu.yzu.editor.myDateEditor" />
</entry>
</map>
</property>
</bean>