¿Para qué sirve @SpringBootApplication?
Opciones
- Arranca la base de datos que usará la aplicación
- Combina configuración, auto-config y component scan (Opción correcta)
- Define un endpoint REST directamente en la clase principal
- Ejecuta los unit tests cuando arranca la aplicación
Respuesta
Combina @Configuration, @EnableAutoConfiguration y @ComponentScan, y marca la clase principal de la app
Por qué
Colocada en tu clase principal, es un atajo para tres anotaciones:
@Configuration: la clase puede definir beans.@EnableAutoConfiguration: activa la configuración automática de Spring Boot.@ComponentScan: busca en este package y sus sub-packages clases con@Component,@Service...
Por eso la clase principal debe estar en el package superior de tu proyecto.
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}Recuerda
Anotación de la clase principal = config + auto-config + component scan.