アノテーション | スコープ | パッケージ | 備考 |
---|---|---|---|
@Dependent |
注入先のBeanのスコープに従う | javax.enterprise.context |
デフォルト設定 |
@RequestScoped |
ユーザとWebアプリケーションの単一のHTTPリクエスト間 | javax.enterprise.context |
|
@SessionScoped |
ユーザのWebアプリケーションの複数のHTTPリクエスト(セッションが有効な)間 | javax.enterprise.context |
|
@ApplicationScoped |
アプリケーションの開始から終了までの間 | javax.enterprise.context |
|
@ConversationScoped |
リクエスト以上セッション以下の範囲で、開始・終了をアプリケーションで明示する | javax.enterprise.context |
|
@ViewScoped |
1つのViewが表示されている間 | javax.faces.view |
JSF専用 |
@FlowScoped |
複数Viewの中で範囲を明示する | javax.faces.flow |
JSF専用 |
注意点
CDIと同名のアノテーションがJSFのにも存在しているので、注意が必要。
私も実装する際、混同しそうになったので参考までに記載しておきます。
javax.faces.bean.RequestScoped
javax.faces.bean.SessionScoped
javax.faces.bean.ApplicationScoped
javax.faces.bean.ViewScoped