인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 핵심 원리 - 기본편

탐색 위치와 기본 스캔 대상

안녕하세요. hello위의 java는 뭔가요..?

작성

·

251

0

안녕하세요. 개발자님

갑자기 hello.core 상위의 java라는 것은 뭐라고 부르나

궁금해서 질문 남기게 됐습니다. 저것도 package? 

directory? 아닌가요..? 그리고 왜 componentScan 시

java 레벨에 class를 생성하고 @Component를 적으면

스캔이 안될까요..?? 또 basePackages로도 지정이

안되구요.. 감사합니다.. 좋은하루되세요!

답변 1

1

안녕하세요. 유진이님, 공식 서포터즈 OMG 입니다.

hello.core 상위의 java라는 것은 뭐라고 부르나 궁금해서 질문 남기게 됐습니다. 저것도 package? directory? 아닌가요..? 

자바의 디렉토리(폴더)를 패키지라고 합니다. 동일한 개념이라고 보셔도 될 것 같네요.

왜 componentScan 시 java 레벨에 class를 생성하고 @Component를 적으면스캔이 안될까요..?? 또 basePackages로도 지정이안되구요.. 

스프링부트로 생성한 프로젝트는 처음 프로젝트 생성시 지정한 이름 + Application이 붙은 클래스가 생성되며 해당 클래스 위에 @SpringBootApplication

이 붙는데요,

해당 어노테이션의 구현부로 들어가 보면,

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {

 다음과 같이 @ComponentScan 어노테이션이 포함되어 있고, @ComponentScan의 대상은 위에서 말한 프로젝트 생성시 지정한 이름 + Application이 붙은 클래스 를 포함한 위치에서 하위패키지가 스캔 대상이 됩니다.

@ComponentScan

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기