title: Usage of @Component in case of inheritance
body: <p>I have 2 scenarios where I would like to understand/confirm the usage of <code>@Component</code>:</p>
  
  <p><strong>Extending concrete class:</strong>
  I have a concrete super class A and its sub-class Aa in my web application. I have annotated with Aa with <code>@Component(value="aa")</code> and <code>@Scope(value=WebApplicationContext.SCOPE_SESSION)</code>. Also, I have annotated A class with <code>@Component(value="a")</code> and <code>@Scope(value=WebApplicationContext.SCOPE_SESSION)</code>. </p>
  
  <p>My question -> I am only doing <code>applicationContext.getBean("aa")</code>. I can skip the annotations in A class (please correct me if I am wrong), <strong>but I don't know why and how?</strong> My understanding has been that if a class is not annotated with <code>@Component</code> or defined in bean configuration file then Spring doesn't handle its instance management.</p>
  
  <p><strong>Abstract concrete class:</strong>
  Same scenario and question as above just that in this case super class is an abstract class.</p>