Spring
컴포넌트스캔 탐색위치와 기본 스캔 대상
당근개발자
2021. 11. 8. 23:08
모든 자바 클래스를 다 컴포넌트 스캔하면 시간이 오래 걸린다.그래서 꼭 필요한 위치부터 탐색하도록 시작 위치를 지정할 수 있다.
-basePackages : 탐색할 패키지의 시작 위치를 지정한다. 이 패키지를 포함해서 하위 패키지를 모두 탐색한다.
-- basePackages={"hello.core" , "hello.service"} // 이렇게 시작위치를 여러개 지정 할 수있다.
-basePackageClasses : 지정한 클래스의 패키지를 탐색 시작위로 지정한다.
-만약 지정하지 않으면, @ComponentScan 이 붙은 설정 정보 클래스의 패키지가 시작 위치가 된다
-권장하는 방법
: 패키지 위치를 지정하지않고, 설정 정보 클래스의 위치를 프로젝트 최상단에 두는 것이다. 최근 스프링 부트도 이 방법을 기본으로 제공한다.
-컴포넌트 스캔 기본대상
컴포넌트 스캔은 @Component 뿐만 아니라 다음 내용도 추가로 대상에 포함하다.
@Componete
@Controller
@Service
@Repository
@Configuration