1

両方のフィールドが同じインスタンスを指している場合、次のようになります。

class BeanToInject {
    // something
}

class TargetBean {

    @Inject
    private BeanToInject first;

    @Inject
    private BeanToInject second;

}

しかし、それは真実ではないようです。

first: BeanToInject@2f51cd27
second: BeanToInject@1e92abdf

Beanの参照を特定のコンテキストで再利用するためではありませんか?ここで何が恋しかったですか?

4

2 に答える 2

4

のスコープを指定していませんBeanToInject。CDIのデフォルトのスコープは、各インジェクションポイントがBeanの新しいインスタンスを受け取る依存疑似スコープです。

于 2012-07-18T20:23:42.547 に答える
2

両方のインジェクションポイントで同じインスタンスを使用するには、BeanToInjectクラスに@Singletonという注釈を付ける必要があります。

于 2012-07-18T20:22:25.247 に答える