title: How to test a component / bean in Spring Boot
body: <p>To test a component/bean in a Spring Boot application, <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html" rel="noreferrer">the testing part of the Spring Boot documentation</a> provides much information and multiple ways :
  <code>@Test</code>, <code>@SpringBootTest</code>, <code>@WebMvcTest</code>, <code>@DataJpaTest</code> and still many other ways.<br>
  Why provide so many ways ? 
  How decide the way to favor ?<br>
  Should I consider as integration tests my test classes annotated with Spring Boot test annotations such as <code>@SpringBootTest</code>, <code>@WebMvcTest</code>, <code>@DataJpaTest</code>  ? </p>
  
  <p>PS : I created this question because I noticed that many developers (even experienced) don't get the consequences to use an annotation rather than another.   </p>