title: Can spring inject sample bean twice with different parameterization?
body: <p>Consider a code:</p>
  
  <pre><code>public class MyProcessor&lt;T extends GenericData&gt; implements ProcessorInterface&lt;T&gt; {
  
      @Autowired
      private List&lt;SomeCriteria&lt;T&gt;&gt; criterias;
  
      @Override
      public long calculate(T data) {
          long result = 0;
          for (SomeCriteria c : criterias) {
              result += c.calculate(data);                        
          }
          return long;         
      }
  }
  </code></pre>
  
  <p>So the difference only in <code>SomeCriteria</code> implementation and <code>GenericData</code>. E.g. for one <code>GenericData</code> there are several 
  <code>SomeCriteria</code>. So if there are 3 <code>GenericData</code> is it possible to write a code like that:</p>
  
  <pre><code>public DataService {
      @Autowire
      private MyProcessor&lt;DataOne&gt; processorOne;
      @Autowire
      private MyProcessor&lt;DataTwo&gt; processorTwo;
      @Autowire
      private MyProcessor&lt;DataThree&gt; processorThree;
  }
  </code></pre>
  
  <p>Without writing implementation for processor each time? </p>