Tôi có BaseBean với @PostConstruct và một bean mở rộng nó trên đó tôi muốn gọi một @PostConstruct khác. Tôi đã đọc một số nơi mà nó nói rằng nó đã có thể, tuy nhiên, có vẻ như các @ postConstruct trên lớp mở rộng được gọi là đầu tiên (nếu thứ hai được gọi là ở tất cả). Sau đó tôi nhận được một NPE về "bối cảnh" bởi vì tôi giả định PostConstruct của siêu đậu đã được gọi.gọi @PostConstruct trên siêu đậu VÀ mở rộng đậu
Điều này có thể thực hiện được không? Nếu vậy tôi đang làm gì sai?
cơ sở đậu:
@ManagedBean
@RequestScoped
public class BaseBean {
@ManagedProperty(value = "#{contextBean}")
private ContextBean contextBean;
Context context;
@PostConstruct
public void setupContext() {
context = getContextBean().getContext();
}
Mở rộng đậu:
@ManagedBean
@RequestScoped
public class SmartBoxSearchBean extends BaseBean {
@PostConstruct
public void setUp() {
jsonHelper = context.get(SmartBoxJsonHelper.class);
}
Cảm ơn, Yotam.
@YotamSeon Tôi có một vấn đề rất giống [ở đây] (http://stackoverflow.com/q/29787068/330457). Bạn đã kết luận rằng đề xuất được chấp nhận là giải pháp duy nhất bạn có thể làm? –