在Spring框架中,提供了几个内置的属性编辑器,如FileEditor,ResourceEditor等。要想使用自定义属性编辑器,需要经过两个步骤。
一。定义一个自定义编辑器,可实现PropertyEditor接口或直接继承PropertyEditorSupport类。
package com.dream.editor;
import com.dream.model.photo.Photo;
import com.dream.service.standard.PhotoService;
import java.beans.PropertyEditorSupport;
/**
* Created by IntelliJ IDEA.
* User: Zhong Gang
* Date: 11-9-6
* Time: 下午10:10
*/
public class PhotoEditor extends PropertyEditorSupport {
private PhotoService photoService;
@Override
public String getAsText() {
Photo photo = (Photo) getValue();
return photo.getGuid();
}
@Override
public void setAsText(String text) throws IllegalArgumentException {
Photo photo = photoService.loadPhotoByGuid(text);
setValue(photo);
}
}
二。注册自定义编辑器
Spring提供了一个PropertyEditorRegistry接口和PropertyEditorRegistrySupport类来自定义一个注册器。其中PropertyEditorRegistrySupport是Spring提供的一个默认实现,里面注册了一些内置的编辑器。
可以在配置文件中注册自定义编辑器,也可以以编程的方式注册自定义编辑器。
String location = "testApplicationContext.xml";
Resource resource = new ClassPathResource(location);
XmlBeanFactory beanFactory = new XmlBeanFactory(resource);
beanFactory.registerCustomEditor(Photo.class, PhotoEditor.class);
<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="com.dream.model.photo.Photo">
<ref bean="photoEditor"/>
</entry>
</map>
</property>
</bean>
<bean id="photoEditor" class="com.dream.editor.PhotoEditor">
<property name="photoService" ref="photoService"/>
</bean>
分享到:
相关推荐
NULL 博文链接:https://bijian1013.iteye.com/blog/2164121
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...
Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。...32.3.PropertyEditor和TypeConverter 32.4.ResourceBundle和ResourceManager 32.5.异常 32.6.应用程序配置 32.7.AOP框架
实作 Validator 使用 PropertyEditor 档案上传 <br> <br>View层方案、Web框架整合 当使用JSP作为View层技术时,您可以结合JSTL以及Spring提供的标签,而除了JSP技术作为View层之外,Spring还...
5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 ...
5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明...
5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 ...
5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明...
PropertyEditor依然有效 强大的ConversionService,让很多梦想成真 基于ConversionService体系,定义自定义的类型转换器 格式化:带格式字符串内部对象 相互转换 使用支持格式化的转换器 数据校验框架 JSR 303 ...
PropertyEditor依然有效 强大的ConversionService,让很多梦想成真 基于ConversionService体系,定义自定义的类型转换器 格式化:带格式字符串内部对象 相互转换 使用支持格式化的转换器 数据校验框架 JSR...
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
NULL 博文链接:https://b-l-east.iteye.com/blog/1705872
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
在本篇文章里小编给大家分享的是一篇关于Spring Boot定制PropertyEditors的知识点内容,有需要的朋友们可以参考学习下。