2010-01-27 2 views
4

내가 명시 적으로 모든 패키지를 추가 구성 요소 검사를 사용하여 내 루트 패키지 com.mysite에서 시작되지 싶은 내 응용 프로그램 컨텍스트 XML 파일에 봄 3. 을 것이다 사용하고 있습니다 :컴포넌트 스캔을 사용하고 기본 패키지를 루트 패키지로 만들면 Spring에서 성능이 저하됩니까?

할 싶습니다

<context:component-scan base-package="com.mysite"/> 

하지 : 어느 쪽의 성능 저하가

<context:component-scan base-package="com.mysite.util"/> 
<context:component-scan base-package="com.mysite.transactions"/> 
<context:component-scan base-package="com.mysite.etc"/> 

있습니까? 권장 스프링이 3 가지 방법이 있습니까?

+0

시도해 보셨습니까? – skaffman

+0

로드 타임에 내가 언급 한 히트 "성능 히트". 이 두 가지 방법에는 차이가없는 것 같습니다. 나는 쉼표로 구분 된 패키지 목록을 가지고 하나의 엔트리를 가질 수 있음을 발견했다. – SWD

답변

3

처음으로 컨테이너를 시동 할 때만 한 번 일이기 때문에 그리 많지 않습니다 (수 밀리 초가 될 수도 있음). 그러나 항상 스캔 경로를 좁히는 것이 좋습니다.

1

성능에 영향을 줄 수 없으며 구성 요소 검색은 런타임이 아닌로드 시간에 수행됩니다.

하지만 구성 요소 검색이 재귀가 아니기 때문에 (패키지에 대한) 재귀 적 검색이 아니므로 검색 할 각 패키지를 지정해야하므로 몇 가지 기억이 있습니다. 그렇지 않으면 나를 정정하십시오.

+5

구성 요소 검사가 Spring 3에서 반복적 인 것으로 보입니다. – SWD

관련 문제