我有一個帶有@PostConstruct的BaseBean和一個擴展它的bean,我想調用另一個@PostConstruct。我已經閱讀了幾個地方說它是可能的,但是,看起來擴展類上的@postConstruct首先被調用(如果第二個被調用)。然後我在「context」上獲得NPE,因爲我假設超級bean的PostConstruct已經被調用。在超級bean上調用@PostConstruct並擴展bean
這是可行的嗎?如果是這樣我做錯了什麼?
基地豆:
@ManagedBean
@RequestScoped
public class BaseBean {
@ManagedProperty(value = "#{contextBean}")
private ContextBean contextBean;
Context context;
@PostConstruct
public void setupContext() {
context = getContextBean().getContext();
}
擴展豆:
@ManagedBean
@RequestScoped
public class SmartBoxSearchBean extends BaseBean {
@PostConstruct
public void setUp() {
jsonHelper = context.get(SmartBoxJsonHelper.class);
}
感謝, Yotam。
@YotamSeon我有一個非常類似的問題[這裏](http://stackoverflow.com/q/29787068/330457)。你是否認爲接受的建議是唯一的解決方案? –