1. ホーム
  2. java

[解決済み] EJBと@Injectのどちらを使うべきですか?

2022-04-26 22:59:46

質問

こんな質問がありました。 Injectと@EJBの違いは何ですか? しかし、私は何の知恵も得られなかった。私はJava EEをやったことがなく、依存性注入の経験もないので、何を使うべきか理解できないのです。

@EJB は古いインジェクションの方法ですか?このアノテーションを使用した場合、EJBコンテナによってインジェクションが行われるのでしょうか? @Inject は新しいCDIフレームワークを使用するのですか?この違いは何ですか? @Inject ではなく @EJB ということでしょうか?

解決方法は?

その @EJB は EJB のインジェクションにのみ使用され、かなり以前から利用可能です。 @Inject は、あらゆるマネージドビーンの注入が可能で、新しいCDI仕様の一部です(Java EE 6以降)。

簡単なケースでは @EJB@Inject . より高度な場合(たとえば @EJB のような属性があります。 beanName , lookup または beanInterface を使用する場合よりも @Inject を定義する必要があります。 @Producer フィールドまたはメソッドを使用します。

の違いを理解するために、これらの資料が役に立つかもしれません。 @EJB@Produces とその方法を紹介します。

アントニオ・ゴンカルベスさんのブログです。

CDI 前編

CDIパートII

CDI 第三部

JBoss Weldのドキュメントです。

CDIとJava EEエコシステム

StackOverflowです。

条件に基づいて@EJBビーンをインジェクトする