在我的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;