탐색할 패키지의 시작 위치 지정
모든 자바 클래스를 다 컴포넌트 스캔하면 시간이 오래 걸린다. 그래서 꼭 필요한 위치부터 탐색하도록 시작 위치를 지정할 수 있다.
@ComponentScan(
basePackages = "hello.core.member", //시작 패캐지 지정
excludeFilters= @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class
)
)
- basePackages : 탐색할 패키지의 시작 위치를 지정한다. 이 패키지를 포함해서 하위 패키지를 모두 탐색한다
- baseClasses : 지정한 클래스의 패키지를 시작 패키지로 지정
- 만약 지정하지 않으면 @ComponentScan이 붙은 설정 정보의 패키지가 시작 위치가 된다.
간단히 말해서, 스프링 설정 정보가 있는 클래스는 프로젝트의 시작 위치에 두거나,
스프링 부트를 사용한다면 @ComponentScan을 사용하지 않더라도 스프링 부트가 알아서 컴포넌트 스캔을 해준다는 것이다.
컴포넌트 스캔 기본 대상
컴포넌트 스캔은 @Component 뿐만 아니라 다음과 내용도 추가로 대상에 포함한다.
- @Component
- @Controller
- @Service
- @Repository
- @Configuration
'Spring > 김영한 스프링 핵심원리 - 기본편' 카테고리의 다른 글
[섹션6-4] 중복 등록과 충돌 (0) | 2024.02.25 |
---|---|
[섹션6-3] 필터 (0) | 2024.02.25 |
[섹션6-1] 컴포넌트 스캔과 의존관계 자동주입 (0) | 2024.02.20 |
[섹션5-6] @Configuration과 바이트코드 조작의 마법 (0) | 2024.02.18 |
[섹션5-5] @Configuration과 싱글톤 (0) | 2024.02.18 |