私はjavaeeを学習しています。cdiの主な使い方については、@requestscope、@applicationscopeなどのアノテーションを使用してjsf管理Beanに最初に戻っていました。 javaeeのバージョンcdiはどこでも入手できます(ejb beanの中でも)。質問があるので、どのように私のローカルステートレスejbの中に注入されるクラスに注釈を付ける必要がありますか? @RequestScopeのようなアノテーションはすべてjsfのものですが、私はjsfを使用していないため、これを求めています。とにかくデフォルトとしてマークされているので、@Defaultは十分ですか? @ Dependentより良い選択ですか?jsfなしのejbプロジェクトでのcdiの使用
@Stateless
public class FooEjb{
@Inject Bar b;
}
// what annotation to put here?
public class Bar {
...
}
つまり、すべてのBeanは自動的に@Defaultと@Dependentになりますか?もし私の豆の3種類のインプラントがあるなら、3回@Defaultがあるので、私は@Alternativeを使うべきでしょうか? –
@devhedgehog:そうでないと宣言されていない限り、コンテナ内のすべてのBeanは '@ Default'と' @ Dependent'です。あなたが2つの実装を持っているなら、 '@ Alternative'はうまくいくでしょうが、2つ以上の場合、あなたは自分の' @ Qualifiers'を書くことができます。 https://dzone.com/articles/define-cdi-qualifier – ares
私はそれまでこれを理解しています。今、問題は "@EJB"を使わずにejbステートレスクラスを挿入する方法です。 –