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);
 

 


        
            
                
                    
                
            
        
    

    
        
    

你可能感兴趣的:(Spring,PropertyEditor)