在我的Spring Boot应用程序中,假设我具有Java接口:
public interface MyFilter<E extends SomeDataInterface>
(一个很好的例子是Spring的 公共接口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实例作为通用参数注入到List中。
@Autowired private List<MyFilter<? extends SpecificDataInterface>> list;