假设您有这个注入点:
@Inject
private Instance<DeliveryEndpoint> allEndpoints;
并且您想要选择一个以
@ActiveEndpoint
注释的端点子组allActiveEndpoints.select(new AnnotationLiteral<ActiveEndpoint>(){})
为什么CDI的创造者不只是这样做呢?
allActiveEndpoints.select(ActiveEndpoint.class)
那本来会容易得多...我感觉是因为我不明白这一点,最终我可能会对我的代码做错什么。我想念什么?
最佳答案
您的ActiveEndpoint是一个简单的限定词-没有参数。对于带有参数的限定词,这将不起作用。方法只能接受对象,而限定符不是对象。