@ManagedBean
宣言でeager=true
を使用できます。
@ManagedBean(eager=true)
@ApplicationScoped
public class Config {
// ...
}
この方法では、Beanはwebappの起動時に自動作成されます。
代わりに、Application#evaluateExpressionGet()
を使用してプログラムでELを評価し、必要に応じてBeanを自動作成することもできます。 this answerの例も参照してください。
FacesContext context = FacesContext.getCurrentInstance();
Confic config = (Config) context.getApplication().evaluateExpressionGet(context, "#{config}", Config.class);
// ...
また、単にあなたがそれを必要と豆の@ManagedProperty
としてそれを注入できます。
@ManagedBean
@RequestScoped
public class Register {
@ManagedProperty("#{config}")
private Config config;
@PostConstruct
public void init() {
// ...
}
// ...
}
JSFは親Beanに注入する前に自動的に作成します。 @PostConstruct
を超えるすべての方法で利用できます。