おそらく私の質問は些細なものですが、アプリケーションスコープBeanを使用したことはありません。アプリケーションBeanが必要なのは、データベースで時間がかかるトランザクションを実行する必要があるためです。 私の検索は私の好奇心を全く満足させませんでした。 私は理由はわかりませんが、Beanを初期化することはできませんでした(nullです)。または、アプリケーションがクラッシュしました。 だから私は、アプリケーションスコープbeanJSFアプリケーションスコープのインスタンス化とインジェクション
@ManagedBean(eager=true)
@ApplicationScoped
public class ApplicationContainer {
...
}
真=熱心を持っている私は豆にアプリケーションサーバーが(私はGlassFishのを使用)起動されるたびに開始するためにJSFに指示します読んで。
私はちょうどこの注釈を配置する必要がありますし、Beanが初期化されるいくつかの場所でお読みください。 私にとっては、私は別のBeanへのアプリケーションBeanを注入したい場合、私は@PostConstuctアノテーションを使用する必要があること
@ManagedBean
@SessionScoped
public class TestsBean implements Serializable {
private static final long serialVersionUID = 1L;
@ManagedProperty(value = "#{container}")
private ApplicationContainer container;
@PostConstruct
public void init() {
container.contructContainer();
}
を読んだ後、これは私が注入他のBean内のエラーを与える... ありません...
- サーバが起動するときにアプリケーションBeanが初期化されると、アプリケーションBeanの本体でどのようなメソッドが呼び出されて、必要なアクションを実行するのですか?または、注入されたBeanではポスト構築メソッドで行われますか?
私のアプリケーション豆を処理するための適切な方法を教えてください。私は本当に混乱しています...
ありがとうございました!
はあなたのためにあなたにBalusCありがとう十分な答え。 私は一般的な質問ではなく、特定の質問になりたいので、質問に私の例外を入れていません。 私は、アプリケーションスコープのBeanは、より具体的な、異なる初期化を必要としていると思っていました。残りの部分は適切な初期化を見つけられませんでした。 お返事ありがとうございます。 – CyberGriZzly