@SpringBootApplication is a shortcut to set up a Spring Boot app quickly. It tells Spring to start scanning and configuring your app automatically.
0
0
@SpringBootApplication breakdown
Introduction
When you want to create a new Spring Boot application easily.
When you want Spring to find and register your components automatically.
When you want to enable auto-configuration without extra setup.
When you want to combine multiple setup annotations into one.
When you want a simple main class to launch your Spring Boot app.
Syntax
Spring Boot
@SpringBootApplication public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } }
This annotation combines @Configuration, @EnableAutoConfiguration, and @ComponentScan.
Place it on your main class to start your Spring Boot app.
Examples
Basic setup for a Spring Boot app with @SpringBootApplication on the main class.
Spring Boot
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
Customize component scanning to specific packages.
Spring Boot
@SpringBootApplication(scanBasePackages = {"com.example.services", "com.example.controllers"})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}Exclude specific auto-configuration classes if you don't want them.
Spring Boot
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
Sample Program
This is a simple Spring Boot app starter. When run, it starts the Spring context and prints a message.
Spring Boot
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); System.out.println("Spring Boot app started!"); } }
OutputSuccess
Important Notes
@SpringBootApplication is a convenience annotation to reduce setup code.
It enables component scanning, so your @Component, @Service, and @Controller classes are found automatically.
You can customize scanning and auto-configuration with its parameters.
Summary
@SpringBootApplication combines three important annotations for easy setup.
Use it on your main class to start your Spring Boot app quickly.
You can customize scanning and exclude auto-configurations if needed.