Spring Boot 어플리케이션의 시작점을 정의하는 어노테이션. 이 어노테이션은 여러 다른 어노테이션을 조합하여 Spring Boot 어플리케이션의 기본 설정을 간소화하고, 자동 설정 기능을 제공함
@SpringBootApplication
은 세 가지 어노테이션을 포함하고 있음
1. @EnableAutoConfiguration
@ComponentScan
@Component
, @Service
, @Repository
, @Controller
등으로 마크된 클래스를 자동으로 스캔하고 빈으로 등록함. 이를 통해 어플리케이션의 계층 구조를 쉽게 구성할 수 있음.@Configuration
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class, args);
}
}
위의 코드에서 MySpringBootApplication
클래스는 @SpringBootApplication
어노테이션을 사용하여 Spring Boot 어플리케이션의 시작점을 정의함. SpringApplication.run
메서드는 어플리케이션을 시작하며, 내장된 웹 서버(Tomcat 등)를 실행하고, 필요한 설정을 자동으로 구성함.
@SpringBootApplication
을 사용하면 대부분의 Spring 설정이 자동으로 이루어짐. 예를 들어, 데이터 소스, 메시징, 보안 설정 등을 자동으로 구성함.@Component
, @Service
, @Repository
, @Controller
) 를 자동으로 스캔하고 빈으로 등록함