public class Foo{
private String iDCode;
public void setIDCode(String iDCode){
this.iDCode=iDcode;}
}
在Spring配置文件中,我们可能会想当然的为Foo提供以下的配置:
当我们试图启动Sping容器时,将得到启动失败的结果,控制台输出以下的错误信息"
Error setting property values;nested exception is org.springframework.
beans.NotWribablePropertyExcetion:Invalid property 'iDCode' of bean class[com.lxm.attr.Foo]:Bean property 'iDCode' is not wribable or has an invalid Setter method. Did you mean 'IDCode' Caused by:org.springframework.beans.NotWribablePropertyException:Invalid property 'iDCode' of bean class
Spring给出了启动失败的错误原因,但错误信息具有很强的误导性,因为他抱怨Foo中没有提供对应于iDCode的Setter方法,但事实上Foo 已提供了 setIDCode()方法.其实真正的错误根源是我们在Spring配置文件中指定了一个非法的属性名iDcode,这个非法的属性名永远不可能有对应的Setter方法,因此错误就产生了.纠正的办法是将配置文件中的属性名该为IDCode: