M04 Q18 What does @SpringBootApplication do?

@SpringBootApplication annotation is supposed to be used on top of the class and it was introduced for convenience. Usage of @SpringBootApplication annotation is equivalent to usage of following three annotations:

  1. @Configuration – allows additional bean registration
  2. @EnableAutoConfiguration – enables context auto-configuration
  3. @ComponentScan – turns on scanning for @Component annotated classes