4

私はこの投稿を読んでいましたが、混乱しています。その投稿では、特定のコンテナーごとにどのアノテーションを使用するかについて言及されています: JSF、CDI、または EJB コンテナー。

初心者として、私は JSF フレームワークを学び、その @ManagedBean アノテーションと、JSF ページから Bean を参照するためのオプションの名前パラメーターに慣れていましたが、CDI についてはあまり知らず、代わりにその強力な機能のために EJB を使用していました (さらにはこの投稿を読んだ後でも、EJB は CDI よりも強力で機能が優れていると思います)。

したがって、JSF コンテナーと CDI コンテナーの両方に独自の注釈と、Web ページで Bean を参照する方法がありますが、EJB には @Stateless (または @Stateful) しかないため、Web ページで参照できません。つまり、JSF コンテナーが常に EJB に添付してください (EJB と CDI コンテナーを混在させることはほとんど似ているため、ばかげていると思いますが、この時点で、私が間違っているかどうかを誰かに教えてもらいたいからです)。

JSFコンテナの問題は、それが

「まだ完成していない成熟したコンテナ」

その投稿で述べたように、私が知っていた最悪のことは、@ManagedBean の横にある Netbeans の警告メッセージでした。

「パッケージ javax.faces.bean のアノテーションは、次の JSF バージョンで非推奨になります。代わりに CDI アノテーションを使用することをお勧めします。」

(まあ、ここにその注釈の別の代替パッケージがあります:javax.annotation.ManagedBeanですが、それを使用できるかどうか、Webページ上のBeanを参照するためのパラメーターがあるかどうか、およびそれがどれであるかはわかりません)

だから今、私はコンテナのどの組み合わせを使用するべきかについて、将来についても考え始めました. CDI + EJB は未来ですか?

みんなで乾杯。

4

2 に答える 2