title: Spring Boot : order of instantiation
body: <p>How Spring decided which class to take instantiate first  ?
  Does abstract classes precedes rest ? </p>
  
  <pre><code>public abstract class GenericService {
      @Autowired
      SoaConfig soaConfig;
      public GenericService() {
          System.out.println("----- hi-----"+soaConfig);
      }
  }
  
  public class SoaConfig  {
      SoaConfig() {
          System.out.println("\n---- soa config ----");
      }
  }
  
  public class SSI extends GenericService {
     public SSI() {
       System.out.println("---- SSI ----");
     }
  }
  </code></pre>
  
  <p>Output is </p>
  
  <pre><code>----- hi-----null
  ---- SSI ----
  
  ---- soa config ----
  </code></pre>
  
  <p>How i can make, my dependency should always instantiate first  ?
  I tried, <code>@Order(Ordered.HIGHEST_PRECEDENCE), @Priority</code> but no luck yet. </p>