excludeFilters에 MyExcludeComponent 애노테이션을 추가해서 BeanB는 스프링 빈에 등록되지 않는다.
FilterType 옵션
ANNOTATION : 기본값 , 애노테이션을 인식해서 동작한다
예) org.example.SomeAnnotation
ASSIGNABLE_TYPE : 지정한 타입과 자식 타입을 인식해서 동작한다.
예) org.example.SomeClass
ASPECTJ : AspectJ 패턴 사용
예) org.example..*Service+
REGEX : 정규 표현식
예) org\.example\.Default.*
CUSTOM : TypeFilter라는 인터페이스를 구현해서 처리
예) org.example.MyTypeFilter
@Component면 충분하기 때문에 includeFilters를 사용할 일은 거의 없다. excludeFilters는 여러가지 이유로 간혹 사용할 때가 있지만 많지는 않다. 특히 최근 스프링 부트는 컴포넌트 스캔을 기본으로 제공하는데 , 개인적으로는 옵션을 변경하면서 사용하기 보다는 스프링의 기본 설정에 최대한 맞추어 사용하는 것을 권장한다.
필터
MyIncludeComponent , MyExcludeComponent (Annotation)
BeanA , BeanB
ComponentFilterAppConfigTest
FilterType 옵션
스프링 핵심 원리 - 기본편 - 인프런
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온
www.inflearn.com
'스프링 핵심 원리 > 컴포넌트 스캔' 카테고리의 다른 글