1. ホーム
  2. jsf

[解決済み] Backing Bean (@ManagedBean) か CDI Beans (@Named) か?

2022-10-02 20:25:26

質問

私は今 コアJavaServerFaces、第3版。 を読み始めたのですが、彼らはこう言っています (強調)。

JSFページで使用できるビーンについて、CDIビーンとJSFマネージドビーンという2つの別々のメカニズムが存在するのは歴史的な偶然です。 と JSF managed beans という 2 つの別々のメカニズムがあるのは歴史的な偶然です。 私たちは CDIビーンズを使用することを ただし、アプリケーションがTomcatのようなプレーンなサーブレットランナー上で動作しなければならない場合は、CDIビーンを使用することをお勧めします。 ランナーで動作しなければならない場合を除き、CDI Beanを使用することをお勧めします。

なぜですか?彼らは を提供しない。 を正当化することができません。私はこれまで @ManagedBean を使用していますが、これに関して特に問題はありません。私は特に @ManagedBean から @Named が、知りたいのは を知りたい。 .

どのように解決するのですか?

CDIはJavaEE全体の依存性注入を可能にするので、プレーンなJSFよりもCDIが好まれます。また、POJO を注入し、それらを管理させることができます。JSFでは、CDIで可能なことのサブセットしか注入できません。