title: How does a Spring Boot Application create beans without @Configuration class
body: <p>I am pretty new to Spring Boot Application. I wanted to understand how does a spring Boot Application create beans without @Configuration class . I had a look at a sample project where there was neither @Bean definitions nor a component scan yet @Autowired provided the dependency to the class. Please have a look at the snippet below:</p>
  
  <pre><code>@RestController
  public class RestController{
  
  **@Autowired
  public CertificationService certificationService;**
  .
  .
  .
  .
  }
  
  //Interface
  
  public interface CertificationService{
  
  public List&lt;Certification&gt; findAll();
  
  }
  
  //Implementation Class
  @Transactional
  @Service
  
  public class CertificationServiceImpl{
  
  public List&lt;Certification&gt; findAll(){
  .
  .
  }
  
  }
  </code></pre>
  
  <p>My limited knowledge of springs tells me that when there is a @Service annotation over a class, there has to be a @ComponentScan somewhere to create the bean. But without a component scan, how does the CertificationServiceImpl bean gets created and thereby how does the autowiring of CertificationService in RestController works here?</p>