1

在我看来,以下结果应该是两个字段都指向同一个实例,

class BeanToInject {
    // something
}

class TargetBean {

    @Inject
    private BeanToInject first;

    @Inject
    private BeanToInject second;

}

但这似乎不是真的,因为我得到了第一个和第二个 sysouting

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 回答