父spring bean的继承属性具有null值

时间:2017-11-29 11:47:55

标签: java spring dependency-injection

我有这种奇怪的情况,当使用子类中的super()从父类执行方法时,继承的属性为null。

以下是两个班级:

public class ParentClass {

    private String property;

    public void setProperty(String property) {
        this.property = property;
    }

    public String getProperty() {
        return property;
    }

    public void execute() {
    // do something with property;
    }
}

public class ChildClass {

    @Override
    public void execute() {
        super.execute();

        // do something else with property
    }
}

Spring应用程序上下文:

<bean id="parentClass" class="com.ParentClass" singleton="false">
    <property name="property" value="value"/>
</bean>

<bean id="childClass" class="com.ChildClass" parent="parentClass" singleton="false">
</bean>

当直接调用ParentClass的execute方法时,property会相应地设置值。

但是当ChildClass的super.execute()从ParentClass调用execute()的基本实现时,属性属性为null,我无法理解为什么。

(这是一个使用Spring 1.2.7的遗留项目,但仍然依赖注入应该正常工作)

0 个答案:

没有答案