在我的Spring Boot应用程序中,假设我具有Java接口(interface):

public interface MyFilter<E extends SomeDataInterface>

(一个很好的例子是Spring的公共(public)接口(interface)ApplicationListener )

我有几个实现,例如:
@Component
public class DesignatedFilter1 implements MyFilter<SpecificDataInterface>{...}

@Component
public class DesignatedFilter2 implements MyFilter<SpecificDataInterface>{...}

@Component
public class DesignatedFilter3 implements MyFilter<AnotherSpecificDataInterface>{...}

然后,在某个对象中,我有兴趣利用所有实现MyFilter 的过滤器,而不是 MyFilter

这是什么语法?

最佳答案

下面的代码将把类型扩展了SpecificDataInterface的每个MyFilter实例作为通用参数注入(inject)到List中。

@Autowired
private List<MyFilter<? extends SpecificDataInterface>> list;

10-06 09:11