title: Spring: get all Beans of certain interface AND type
body: <p>In my Spring Boot application, suppose I have interface in Java:</p>
  
  <pre><code>public interface MyFilter&lt;E extends SomeDataInterface&gt; 
  </code></pre>
  
  <p>(a good example is Spring's <em>public interface ApplicationListener&lt; E extends ApplicationEvent ></em> ) </p>
  
  <p>and I have couple of implementations like:</p>
  
  <pre><code>@Component
  public class DesignatedFilter1 implements MyFilter&lt;SpecificDataInterface&gt;{...}
  
  @Component
  public class DesignatedFilter2 implements MyFilter&lt;SpecificDataInterface&gt;{...}
  
  @Component
  public class DesignatedFilter3 implements MyFilter&lt;AnotherSpecificDataInterface&gt;{...}
  </code></pre>
  
  <p>Then, in some object I am interested to utilize <strong>all filters</strong> that implement MyFilter&lt; SpecificDataInterface > <strong>but NOT</strong> MyFilter&lt; AnotherSpecificDataInterface > </p>
  
  <p>What would be the syntax for this?</p>