3

假设你有这个注入点:

@Inject
private Instance<DeliveryEndpoint> allEndpoints;

并且您想选择一个带有注释的端点子组@ActiveEndpoint

allActiveEndpoints.select(new AnnotationLiteral<ActiveEndpoint>(){})

为什么 CDI 的创造者不只是这样做呢?

allActiveEndpoints.select(ActiveEndpoint.class)

那会容易得多......我觉得因为我不明白这一点,我最终可能会对我的代码做一些错误的事情。我错过了什么?

4

1 回答 1

4

您的 ActiveEndpoint 是一个简单的限定符 - 没有参数。对于带参数的限定符,这是行不通的。方法只能接受对象,限定符不是对象。

于 2013-05-17T01:15:13.710 回答