您好,我的问题是,例如在应用程序范围的 bean 上生成的实例是否也会生成应用程序范围的实例?它是否具有其类范围或始终是依赖的?
最佳答案
该规范将生产者方法视为 bean(基本上,生产者是如何创建给定 bean 类型的实例的定义)。因此,适用一条规则,即如果未提供范围,则假定为 @Default
。
因此,您的问题的答案是 - 如果未指定,则生产者范围为 @Default
。生产者范围和声明它的 bean 范围之间没有联系。
@ApplicationScoped
public MyBean {
@Produces //this will produce @Dependent
public Foo produceDependent() {
return new Foo();
}
@Produces
@RequestScoped //produces the scope you define
public Bar produceReqScopedBean() {
return new Bar();
}
}
关于java - cdi 生产者是否具有类范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43242487/