title: Spring: No matching bean found which qualifies as autowire
body: <p>Application-Context is correctly setup!</p>
  
  <p>Heres my class scenario</p>
  
  <pre><code>public interface IManager
  {
   public void doStuff();
  }
  
  @Component
  public abstract class ManagerAction implements IManager
  {
    @Async
    @Override
    public void doStuff()
    {
       //doing stuff
    }
  
    public abstract manageWorker();
  }
  
  @Component
  public class Working extends ManagerAction
  {
    @Override
    public manageWorker()
    {
      //some busy code
    }
  }
  
  @Component
  public class NotWorking extends ManagerAction
  {
    @Override
    public manageWorker()
    {
      //some busy code
    }
  }
  
  @Service
  public class BusinessWorker
  {
    @Autowire
    private IManager manager_;
  
    public void preformTasks()
    {    
      manager_.doStuff();
    }
  }
  </code></pre>
  
  <p><strong>Heres my error</strong></p>
  
  <pre><code>ERROR [main] (ContextLoader.java:307) - Context initialization failed
  org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'BusinessWorker': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.B
  eanCreationException: Could not autowire field: private com.background.IManager com.background.BusinessWorker.manager_; nested exception is org.springframework.beans.
  factory.NoSuchBeanDefinitionException: No matching bean of type [com.background.IManager] found for dependency: expected at least 1 bean which qualifies as autowire candidate for
   this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
  
  
  Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.background.IManager com.background.BusinessWorker.manager_; 
  nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.background.IManager] found for dependency: expected at least 1 
  bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506)
      at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
      ... 28 more
  </code></pre>
  
  <p>Application-Context</p>
  
  <pre><code>&lt;mvc:annotation-driven /&gt;
  &lt;task:annotation-driven /&gt;
  &lt;context:annotation-config /&gt;
  &lt;context:component-scan base-package="com.background" /&gt;
  </code></pre>