关于Spring属性编辑器的使用(总结1):
当要给bean注入的属性为特殊类型,如Date类型则需要定义属性编辑器来处理相应类型的数据的注入。
1,自定义class DatePropertyEditor extends PropertyEditorSupport 并重写(@Override)public void setAsText(String text)方法,最后调用父类的super.setValue(date);方法用于将转换类型后的数据保存下来。
用于处理数据类型的转换,使得配置文件在读取实例化bean对象并要把属性值注入时使用,而这些信息需要配置文件去说明(applicationContext-editors.xml,区分于applicationContext-beans.xml)。
代码示例:
@Override
public void setAsText(String text) throws IllegalArgumentException {
SimpleDateFormat sdf=new SimpleDateFormat(format);
try {
Date date= sdf.parse(text);
super.setValue(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2,在配置文件(applicationContext-beans.xml)中说明所做的数据类型处理,
<bean用户自定义属性编辑器类对象(实现自Spring定义好的类)><property><map><entry key="目标类型"><bean 类型转换的类对象>.....</bean>
注意:在配置文件中给值时不要多空格或者给<value>标签换行。(几乎所有的文件都要注意不要给添加空格!!!)
bean的class为org.springframework.beans.factory.config.CustomEditorConfigurer:
<property name="customEditors">中存放的时Map类型的数据,而Map中放的是<entry />,其中有属性key="java.util.Date"和 value-ref="datePropertyEditor",对于key可以作为属性配到entry中,也可以作为子标签配置其中,指的是所要转换成的类型; value-ref可以直接引用bean对象,也可以直接配作<bean>对象。
代码示例:
<bean id="dateEditor" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="java.util.Date">
<bean id="myDate" class="editors.DatePropertyEditor">
<property name="format">
<value>yyyy/mm/dd</value>
</property>
</bean>
</entry>
</map>
</property>
</bean>
分享到:
相关推荐
一、Spring属性编辑器概述 Spring MVC和Spring Bean的初始化过程中,属性编辑器扮演着关键角色。当Spring尝试将配置文件中的属性值注入到Bean的属性时,如果该属性类型与配置值的类型不匹配,Spring会查找合适的...
通过以上步骤,我们不仅解决了类型转换的问题,还深入了解了如何在Spring框架中使用自定义编辑器来扩展其功能。这对于处理复杂的业务逻辑或特定的数据格式非常有帮助。此外,自定义编辑器还可以用于提高应用程序的...
此外,"009_Spring属性编辑器.avi"和"011_Spring属性编辑器_日期格式可配置_多文件读取方式.avi"将讲解Spring属性编辑器的用法,如何处理复杂类型的属性注入,如日期格式化和文件操作。 "010_上午内容回顾.avi"是对...
14. **属性编辑器**:Spring允许自定义属性编辑器(PropertyEditor)来进行类型转换,如将字符串转换为特定类型,如日期、枚举等。 综上所述,Spring框架是一个全面的开发平台,提供了许多工具和机制来简化Java应用...
- 属性编辑器:Spring内置了一些属性编辑器,能够将字符串转换为特定类型进行注入。如果需要自定义转换,可以继承`PropertyEditorSupport`类并覆盖`setAsText()`方法。然后通过`CustomEditorConfigurer`在Spring...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的...
总结,配置好Freemarker编辑器可以极大地提升开发效率,使得模板的编写和调试更加便捷。熟练掌握Freemarker的语法和用法,将使你在Web开发中游刃有余。通过与Java代码的紧密配合,你可以构建出动态、响应式的网页...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...
- **表单集成**:模板中的表单可以直接与后端实体对象进行绑定,包括属性编辑器、转换服务和验证错误处理等功能。 - **国际化消息显示**:从Spring管理的消息文件中获取国际化消息,并在模板中展示。 - **资源解析...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...
- **属性编辑器** (Property Editor): 用于转换不可直接转换的数据类型,如将字符串转换为日期等。 - **数据绑定** (Data Binding): 将 HTTP 请求中的参数与 Java 对象属性之间建立映射关系。 - **BeanWrapper**: -...
在编辑器中打开XML文件时,MyEclipse的Spring插件会自动识别并提供XML Schema支持,比如在编写bean定义时,自动提示类名、属性和方法。 4. **自动提示功能** 当在`applicationContext.xml`中输入`<bean>`标签时,...
总结,Spring环境的搭建涉及到库的配置、配置文件的编写、bean的定义与依赖注入、属性编辑器的定制以及bean的作用域和自动装配等多方面的知识。理解并熟练掌握这些概念,将有助于你有效地使用Spring框架进行应用程序...
5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建...
- **LegacyWebSupport**: 在 Spring MVC 中绑定领域类,包括属性编辑器、转换服务等功能。 #### 三、JPA Repositories 的使用 ##### 3.1 引入 - **Spring 命名空间**: 介绍了如何使用 Spring 的命名空间来配置 ...
5.2.2 Spring默认属性编辑器 5.2.3 自定义属性编辑器 5.3 使用外部属性文件 5.3.1 使用外部属性文件 5.3.2 使用加密的属性文件 5.3.3 属性文件自身的引用 5.4 引用Bean的属性值 5.5 国际化信息 5.5.1 基础知识 5.5.2...
5.2.2 Spring默认属性编辑器 5.2.3 自定义属性编辑器 5.3 使用外部属性文件 5.3.1 使用外部属性文件 5.3.2 使用加密的属性文件 5.3.3 属性文件自身的引用 5.4 引用Bean的属性值 5.5 国际化信息 5.5.1 基础知识 5.5.2...