春天的属性异常无效

时间:2009-11-18 07:11:48

标签: java spring

我在我的应用程序中使用spring,当我加载springApplicationContext以获取bean时我得到了错误

  

引起:   org.springframework.beans.InvalidPropertyException:   无效的属性“abc”

即使有一个属性abc和bean中该属性的setter。

我知道这是一个奇怪的错误,但我无法弄清楚问题出在哪里。

任何指针都会有所帮助。

谢谢! PRATIK

2 个答案:

答案 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来处理类属性。尝试使用您的类,并检查是否找到目标属性。