Explain the @SpringBootApplication annotation.

Beginner

Answer

@SpringBootApplication is a convenience annotation that combines three annotations:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Equivalent to:

  • @Configuration: Indicates configuration class
  • @EnableAutoConfiguration: Enables auto-configuration
  • @ComponentScan: Enables component scanning in current package and sub-packages