@SpringBootApplication 애너테이션 이해하기

김형진·2024년 3월 5일

Spring

목록 보기
8/15
post-thumbnail

1. @SpringBootApplication 애너테이션이란?

@SpringBootApplication 애너테이션은 스프링 부트 애플리케이션의 주 진입점을 표시하는 메타 애너테이션입니다. 이 애너테이션은 세 가지 다른 애너테이션인 @Configuration, @EnableAutoConfiguration, @ComponentScan을 조합하여 사용하며, 스프링 부트 애플리케이션의 설정과 구성을 자동으로 처리합니다.

2. @SpringBootApplication의 주요 속성

  • scanBasePackages
    컴포넌트 스캔의 베이스 패키지를 지정합니다. 기본적으로 @SpringBootApplication이 선언된 패키지부터 시작하여 하위 패키지를 스캔합니다.
  • exclude
    자동 구성을 제외할 클래스나 패키지를 지정합니다.
  • excludeName
    자동 구성을 제외할 클래스의 이름을 지정합니다.

3. @SpringBootApplication의 사용 예시

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}
  • 위의 예시에서는 @SpringBootApplication 애너테이션이 MyApplication 클래스에 선언되어 있습니다. 이를 통해 스프링 부트 애플리케이션의 주 진입점임을 나타냅니다.

4. @SpringBootApplication의 동작 원리

  • @Configuration
    스프링 컨텍스트에 대한 구성 파일로 사용되며, 빈을 정의하는 데 사용됩니다.
  • @EnableAutoConfiguration
    자동 구성을 활성화하여 스프링 부트가 클래스 경로 및 기타 속성에 따라 애플리케이션을 자동으로 구성할 수 있도록 합니다.
  • @ComponentScan
    컴포넌트를 스캔하여 빈으로 등록합니다.

5. 결론

@SpringBootApplication 애너테이션은 스프링 부트 애플리케이션의 설정과 구성을 간편하게 처리하는 메타 애너테이션입니다. 세 가지 다른 애너테이션인 @Configuration, @EnableAutoConfiguration, @ComponentScan을 조합하여 사용하며, 주요 속성을 통해 애플리케이션의 동작을 커스터마이징할 수 있습니다.

0개의 댓글