作用:spring利用属性编辑器,可以将字符串转化为相应的对象,然后注入到其他对象中.
例子:
Person类
package com.open.bean;
public class Person {
    PhoneNumber phoneNumber;
    
//set,get方法省略
}
PhoneNumber类
package com.open.bean;
public class PhoneNumber {
    
private String areaCode;
    
private String number;
    
public PhoneNumber(String areaCode,String number ) {
        
this.areaCode=areaCode;
        
this.number=number;
    }

    
//set,get方法省略
}
自定义属性器PhoneEditor
package com.open.bean;
import java.beans.PropertyEditorSupport;
public class PhoneEditor extends PropertyEditorSupport {
    
public void setAsText(String textValue) throws IllegalArgumentException {
        String []str
=textValue.split("-");
        
if(str!=null&&str.length==2{
            PhoneNumber pn
=new PhoneNumber(str[0],str[1]);
            setValue(pn);
        }
else {
            setValue(
new PhoneNumber("0000","0000000"));
        }
    
    }

}

利用PhoneEdior,在xml文件中就可以这么配置Person类了
<beans><!--注册编辑器-->
    
<bean id="customEditorConfigurer" 
        class
="org.springframework.beans.factory.config.CustomEditorConfigurer">
        
<property name="customEditors">
            
<map>
                
<entry key="com.open.bean.PhoneNumber">
                    
<bean id="phoneEditor" class="com.open.bean.PhoneEditor"/>
                
</entry>
            
</map>
        
</property>
    
</bean>
    
<bean id="person" class="com.open.bean.Person">
        
<property name="phoneNumber" value="0731-8888888"/>
    
</bean>
</beans>

spring默认提供以下属性编辑器,不用注册
ClassEditor  使用包含全称名的字符串设置java.lang.Class属性
CustomDateEditor  使用某种java.text.DateFormat对象将一个字符串设置给java.util.Date属性
FileEditor  使用包含文件路径的字符串设置java.io.File属性
LocalEditor  设置java.util.Local属性
StringArrayPropertyEditor  将一个包含逗号的String转化成String数组
StringTrimmerEditor  自动修正字符串属性,可以选择将空字符转变成null