[SpringBoot] Component Scan

김선형·2025년 9월 8일

Java

목록 보기
15/27

개요

Spring이 지정된 패키지 이하를 탐색하여 특정 어노테이션 (@Annotation)이 붙은 클래스들을 찾아내고, Spring 빈 (Bean)으로 등록하는 자동 설정 기능이다. 컴포넌트 스캔의 기본 범위는 @SpringBootApplication이 선언된 클래스의 하위 패키지 전체이다.

✏️ @SpringBootApplication 어노테이션의 조합 요소
@SpringBootApplication은 아래 세 어노테이션을 묶어놓은 메타 어노테이션이다.

  • @SpringBootConfiguration: Spring Boot의 설정 파일임을 명시한다. 내부적으로 @Configuration과 동일하다.
  • @EnableAutoConfiguration: 자동 설정 (Auto Configuration) 기능을 활성화한다.
  • @ComponentScan: 해당 패키지 및 하위 패키지의 @Component, @Service, @Repository 등의 Bean을 자동 탐색한다.

✏️ @SpringBootApplication(scanBasePackages = {...})처럼 scanBasePackages에 스캔 범위를 전달하여, 스캔 범위를 제한할 수 있다.

컴포넌트 스캔 대상

Spring Boot의 스테레오타입 (Stereotype) 어노테이션 (@Component, @Service, @Repository, @Controller, @RestController, @Configuration, @ConfigurationProperties, @EnableAutoConfiguration)이 붙은 클래스를 스캔한다.

profile
선형의 비선형적 기록 🐜

0개의 댓글