我在我的应用程序中使用spring,当我加载springApplicationContext以获取bean时我得到了错误
引起: org.springframework.beans.InvalidPropertyException: 无效的属性“abc”
即使有一个属性abc
和bean中该属性的setter。
我知道这是一个奇怪的错误,但我无法弄清楚问题出在哪里。
任何指针都会有所帮助。
谢谢! PRATIK
答案 0 :(得分:4)
确保该属性同时具有公共setter和getter。如果是AnyObject
属性,它应该如下所示:
private AnyObject abc;
public AnyObject getAbc() { return abc; }
public void setAbc(AnyObject abc) { this.abc = abc; }
然而,有一个特殊情况:如果是boolean
属性,它应该如下所示:
private boolean abc;
public boolean isAbc() { return abc; }
public void setAbc(boolean abc) { this.abc = abc; }
请注意is
前缀而不是get
。
答案 1 :(得分:-1)
我在Spring论坛上记得类似的问题。结果发现有一个像
这样的二传手签名public class MyClass {
private Aggregated field;
public MyClass setField(Aggregated field) {
this.field = field;
}
}
即。 setter的返回类型不是 void 。
无论如何,Spring使用标准Instrospector来处理类属性。尝试使用您的类,并检查是否找到目标属性。