`
Wind_ZhongGang
  • 浏览: 263680 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring propertyEditor

阅读更多

  在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>
分享到:
评论

相关推荐

    学习Spring必学的Java基础知识(3)—PropertyEditor

    在深入学习Spring框架之前,掌握基础的Java知识是至关重要的,特别是关于`PropertyEditor`的部分。`PropertyEditor`是Java中用于类型转换的关键组件,它允许我们自定义数据类型的转换规则,这对于处理用户输入或者在...

    SpringMVC之DataBinding和Validation--Validator,PropertyEditor,Converter,Formatter

    总的来说,Spring MVC的Data Binding和Validation是处理用户输入的强大工具,`Validator`提供了自定义验证逻辑的途径,而`PropertyEditor`、`Converter`和`Formatter`则帮助我们处理类型转换问题。了解并熟练运用...

    Spring-Reference_zh_CN(Spring中文参考手册)

    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数据格式转换

    在上述内容中,提到了Spring内建的多种`PropertyEditor`,例如`ByteArrayPropertyEditor`用于`String`到`byte[]`的转换,`ClassEditor`用于`String`到`Class`的转换,以及`CustomBooleanEditor`用于处理`String`到`...

    最新spring3.0 源码(一)

    此外,还包含了PropertyEditor接口,用于类型转换,以及各种实用工具类,如BeanUtils,它们提供了便捷的bean操作方法。 `org.springframework.context`模块则扩展了beans模块,提供了应用程序上下文的概念。...

    Spring Framework 3.0.0.4

    4. **PropertyEditor**:Spring利用PropertyEditor来处理bean属性的类型转换,例如将字符串转换为日期或其他复杂类型。 5. **BeanPostProcessor**:这是一个接口,允许用户自定义bean实例化和初始化过程中的行为,...

    spring 自定义属性编辑器

    在Spring框架中,属性编辑器(PropertyEditor)是一种强大的工具,允许我们自定义类型转换过程。当我们需要将字符串形式的数据转换为Java对象时,属性编辑器就发挥了关键作用。例如,从请求参数或配置文件中读取的...

    开源框架 Spring Gossip

    实作 Validator 使用 PropertyEditor 档案上传 &lt;br&gt; &lt;br&gt;View层方案、Web框架整合 当使用JSP作为View层技术时,您可以结合JSTL以及Spring提供的标签,而除了JSP技术作为View层之外,Spring还...

    Spring 2.0学习文档 和Spring API文档

    1. **org.springframework.beans** 包:包含了Bean工厂和各种bean相关的类,如PropertyEditor、BeanWrapper等,用于属性设置和类型转换。 2. **org.springframework.context** 包:提供了ApplicationContext接口,...

    Spring 2.5 基于注解驱动的Spring MVC

    Spring允许你通过注册自定义的`PropertyEditor`来处理自定义类型的数据绑定。这可以通过实现`PropertyEditorSupport`类并使用`@InitBinder`注解在Controller中注册。 ```java @Controller public class ...

    spring数据绑定.docx

    在`spring-beans`模块中,`PropertyEditorRegistrySupport`类是`PropertyEditor`注册的核心,它负责管理一系列默认的`PropertyEditor`实例,用于处理常见的数据类型转换。 在提供的源码片段中,我们可以看到`...

    详细的Spring配置和Spring Boot-外文翻译

    4. **使用JavaBeans PropertyEditors**:PropertyEditor接口是java.beans包中提供的标准接口。PropertyEditors用于转换和设置bean属性的值,特别是在将数据从一种类型转换为另一种类型时,如从用户输入的字符串转换...

    Spring 2.0 开发参考手册

    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支持 ...

    spring2.0(三) 自定义属性编辑器

    当Spring尝试将配置文件中的属性值注入到Bean的属性时,如果该属性类型与配置值的类型不匹配,Spring会查找合适的PropertyEditor来完成类型转换。默认情况下,Spring提供了许多内置的PropertyEditor,例如将字符串...

    spring MVC数据绑定大全

    如果需要自定义转换,可以通过实现`org.springframework.core.convert.converter.Converter`接口或注册`PropertyEditor`实现。 5. **数据验证**: Spring MVC 集成了JSR-303/JSR-349(Bean Validation)标准,允许...

    25 Spring Core 数据绑定之BeanWrapper实现示例及背后原理探究慕课专栏1

    当我们尝试将字符串或者其他非基本类型的数据赋值给一个JavaBean的属性时,Spring会查找合适的`PropertyEditor`来完成转换。这个过程在`BeanWrapperImpl`中通过`PropertyEditor`的`setAsText()`方法实现。 在深入...

Global site tag (gtag.js) - Google Analytics