私は私のクラスの二つのフィールドました:CDI @Dependentと@New
public class Class {
@Inject private ClassA a;
@Inject private ClassB b;
public void search(String lqlSentence)
{
this.a.something();
AnotherClass anotherOne = new AnotherOne;
anotherOne.method(this.b);
}
}
CDIは私に語った:
@default修飾子とタイプにClassAのため
不満の依存関係をしかし、CDIは
ClassB b
フィールドについて何かを教えてくれます。その後、私は
@Dependent
注釈を追加しました:@Inject @Dependent private ClassA a;
CDIは私に同じことを伝えます。
ただし、このフィールドに
@New
と注釈を付けるとCDIが機能します。
@New
を使用するのはなぜですか? CDIが他のプロパティについて何か教えてくれないのはなぜですか?Class B
?
私はそれを得ました。ありがとう。 – Jordi
CDIが '@Inject private ClassA a;'について私に警告する理由はまだ分かりませんし、 '@Inject private ClassB b;'の2番目のフィールドについては何も教えてくれません... – Jordi
"警告する"とはどういう意味ですか?ログメッセージ?あなたはそれぞれの定義を共有できますか? –