美文网首页
spring自定义实现PropertyEditor

spring自定义实现PropertyEditor

作者: xzz4632 | 来源:发表于2019-07-06 09:33 被阅读0次
1. 继承PropertyEditorSupport并重写相关方法

示例:

import java.beans.PropertyEditorSupport;

public class AddressTypeEditor1 extends PropertyEditorSupport {

    /**
     * 通过给定的字符串设置属性值, 如果字符串格式不正确, 可以抛出异常
     */
    @Override
    public void setAsText(String text) throws IllegalArgumentException {
        setValue(new Address(text));
    }

    /**
     * 设置或改变被编辑的对象
     */
    @Override
    public void setValue(Object value) {
        super.setValue(value);
    }

}
2. 注册自定义的属性编辑器

使用org.springframework.beans.factory.config.CustomEditorConfigurer进行注册, 这是一个BeanFactoryPostProcessor.

<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
        <property name="customEditors">
            <map>
                <entry key="com.xzz.chapter01.section16.test01.Address" value="com.xzz.chapter01.section16.test01.AddressTypeEditor1"></entry>
            </map>
        </property>
    </bean>

其中:
key为被转换的类的全限定类名.
value为自定义的属性编辑器的全限定类名.

3. 使用
<bean id="person" class="com.xzz.chapter01.section16.test01.Person">
        <property name="addr" value="深圳"></property>
    </bean>

此时的value会转换为其对应的对象.

相关文章

网友评论

      本文标题:spring自定义实现PropertyEditor

      本文链接:https://www.haomeiwen.com/subject/qbpuqctx.html