title: Difference between @EnableAutoConfiguration vs @SpringBootConfiguration ( @AutoConfigurationPackage vs @Configuration )
body: <p>I know that when we annotate a java class as <code>@SpringBootApplication</code> we will have internally annotations <code>@EnableAutoConfiguration</code> and <code>@SpringBootConfiguration</code> but i'm confused what is the difference between them. </p>
  
  <p>I am very much new to spring boot, Can someone please elaborate on this.</p>