}
}
return allNumberic.toString();
}
}
public class PhoneEditor extends java.beans.PropertyEditorSupport{
@Override
public void setAsText(String text) throws IllegalArgumentException {
String stripped=stripNonNumeric(text);
String areaCode=stripped.substring(0,3);
String prefix=stripped.substring(3,6);
String number=stripped.substring(6);
Phone phone=new Phone(areaCode,prefix,number);
setValue(phone);
}
private String stripNonNumeric(String original){
StringBuffer allNumberic=new StringBuffer();
for(int i=0;i
if(Character.isDigit(c)){
allNumberic.append(c);
}
}
return allNumberic.toString();
}
}
配置文件如下:
[java]
!-- 这里配置了自定义属性编辑器,Bean工厂在创建完后会自动将其注入 -->
[java]
BeanFactory factory=new XmlBeanFactory(new ClassPathResource("person.xml"));
Person person=(Person)factory.getBean("test");
System.out.println(person.getName());
System.out.println(person.getPhone().getAreaCode());
System.out.println(person.getPhone().getPrefix());
System.out.println(person.getPhone().getNumber());