Ben*_*Ben 5 subclass postconstruct jsf-2 managed-bean managed-property
我正在使用类的层次结构,我最好尝试做的是@ManagedBean继承一个具有@ManagedProperty成员和@PostConstruct方法的类.
具体来说,这会有用吗?:
public class A {
    @ManagedProperty
    private C c;
    @PostConstruct
    public void init() {
        // Do some initialization stuff
    }
    public C getC() {
        return c;
    }
    public void setC(C c) {
        this.c = c;
    }
}
@ManagedBean
@SessionScoped
public class B extends A {
    // Content...
}
提前致谢!
Bal*_*usC 13
这@ManagedProperty是继承的,并将以这种方式工作.如果@PostConstruct子类本身没有@PostConstruct方法,那么也将继承.可能只有一个.因此,如果子类本身具有a @PostConstruct,则不会调用超类"one".
因此,如果重写@PostConstruct子类中的内容,则需要显式调用超类"one".
public class SuperBean {
    @PostConstruct
    public void init() {
        // ...
    }
}
@ManagedBean
public class SubBean extends SuperBean {
    @PostConstruct
    public void init() {
        super.init();
        // ...
    }
}
或者,提供子类必须实现的抽象方法(不带@PostConstruct!).
public class SuperBean {
    @PostConstruct
    public void superInit() {
        // ...
        init();
    }
    public abstract void init();
}
@ManagedBean
public class SubBean extends SuperBean {
    @Override
    public void init() {
        // ...
    }
}
| 归档时间: | 
 | 
| 查看次数: | 2070 次 | 
| 最近记录: |