【发布时间】:2014-05-17 12:39:36
【问题描述】:
我知道 Instance 不是 JSR 330 的一部分,但有 Spring 等价物吗?我对 Instance 实现 Iterable 这一事实感兴趣,因此 Provider 不会是正确的答案。
public interface Report { ... }
(有 2 个类使用 @Named 注释实现 Report)
@Named
public class ReportRunner {
@Inject private Instance<Report> reports;
}
结果: 没有为依赖找到类型 [javax.enterprise.inject.Instance] 的合格 bean...
【问题讨论】:
-
你想达到什么目的?
-
AFAIK,你可以简单地使用
List<Report>。 -
在 HK2 中,有一个叫做 IterableProvider 的东西来处理这种情况。见hk2.java.net/2.3.0-b03/apidocs/org/glassfish/hk2/api/…。但是由于这个问题是关于 Spring 的,所以这可能不是那么有帮助。有一个 Spring/HK2 桥接器,因此您可以将大部分应用程序保留在 Spring 中,并在这种情况下只使用 Spring/HK2 桥接器,但我不确定。
-
JB Nizet 是正确的。我什至不知道你能做到这一点!谢谢。