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

gusdn85554님의 프로필 이미지
gusdn85554

작성한 질문수

스프링 핵심 원리 - 기본편

중복 등록과 충돌

필터 강의 부분 질문

작성

·

190

2

안녕하십니까 선생님

필터 부분 강의를 들으면서 궁금한 점이 생겨 질문드립니다.

BeanA와 BeanB는 따로 @Component가  붙어있지 않습니다. 그래서 저는 혹시 만드신 MyExcludeComponent와 MyIncludeComponent에 붙어 있는 어노테이션 중에 @Component가 있을까해서 찾아보았는데 없었습니다.

ComponentScan에서 사용하는 includeFilters에도 있나 했는데 없었습니다.

그렇다면 클래스에 따로 Component가 붙어있지 않을 때도(물론 붙어있으면 빈으로 등록되는 것은 알고 있습니다!),

includeFilter를 사용하게 되면 스프링 빈으로 등록이 되는건가요?

답변 2

3

gusdn85554님의 프로필 이미지
gusdn85554
질문자

답변 감사합니다.

그렇다면 결국엔 includeFilters의 기능이 classes에 있는 클래스를 Component 어노테이션을 붙여준 것과 같은 역할을 한다고 말할 수 있나요?

안녕하세요 gusdn85554님!

네 맞습니다! ^_^

gusdn85554님의 프로필 이미지
gusdn85554
질문자

친절한 답변 감사합니다~

1

안녕하세요. gusdn85554님, 공식 서포터즈 codesweaver 입니다.

.

강의를 진행하시다보면 ComponentFilterAppConfig 의 상단에 @ComponentScan 필터 옵션을 추가하신것을 볼 수 있습니다. 이 필터에 MyIncludeComponent.class 를 스캔 대상으로 추가하였기에 BeanA가 스프링 컨테이너에 등록된것입니다.

.

이렇게 사용자 정의 애노테이션 외에 패키지를 기준으로 빈을 등록하는 등 다양한 필터를 제공하고 있습니다. 아래의 링크를 참조하여 주시기 바랍니다.

1-3) 스프링 @ComponentScan의 다양한 설정들 : basePackages, useDefaultFilters, includeFilters, excludeFilters, lazyInit (tistory.com)

.

감사합니다.

gusdn85554님의 프로필 이미지
gusdn85554

작성한 질문수

질문하기