2017-04-04 5 views
0

는 난 단지@ComponentScan으로 현재 패키지와 다른 패키지를 모두 스캔하는 방법은 무엇입니까?

@ComponentScan 

봄 아래 현재 패키지를 스캔합니다 작성하는 경우. 내가

@ComponentScan(basePackages = {"my.package.com"}) 

내가 암시 적으로 어떤 명시 적 패키지와 함께 현재 패키지를 지정할 수 있습니다 작성하는 경우

? 이

@ComponentScan(basePackages = {"", "my.package.com"}) 
+1

당신은 클래스에서 여러'@ ComponentScan' 주석을 추가 할 수 있습니다. –

+0

아니면 그냥 ""대신 패키지를 지정할 수 있습니다. – john16384

답변

1

JavaDoc 같은

뭔가 말한다 : 특정 패키지가 정의되어 있지 않은 경우

, 스캔이 주석을 선언하는 클래스의 패키지에서 발생합니다.

따라서 검사 할 패키지를 선언하면 기본 동작이 무시됩니다. 그러나 런타임에서 변경 될 내용이 아닌 한 현재 패키지를 암시 적으로 검사해야하는 이유는 알 수 없습니다. 당신이 리팩토링의 경우 자신을 보호하려는 경우 , 당신은 유형 안전 basePackageClasses 대신 사용할 수 있습니다

@ComponentScan(basePackageClasses = {Config.class, ClassInPackageToScan.class})