WEB/Spring

컴포넌트 스캔 Filter

hwahaha 2023. 12. 20. 15:23

필터  사용법

@MyIncludeComponent
public class BeanA {
}
@MyExcludeComponent
public class BeanB {
}
 @Configuration
    @ComponentScan(
            includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION,classes = MyIncludeComponent.class),
            excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = MyExcludeComponent.class)
    )

 

includeFilters: 컴포넌트 스캔에서 추가할 대상을 지정

excludeFilters: 컴포넌트 스캔에서 제외할 대상 지정

 

FilterType 옵션

ANNOTATION: 기본값, 애노테이션을 인색해서 동작

ASSIGNABLE_TYPE: 지정한 타입과 자식 타입을 인식해서 동작

ASPECTJ: AspectJ 패턴 사용

REGEX: 정규 표현식

CUSTOM: TypeFilter이라는 인터페이스를 구현해서 처리