스프링

스프링 컴포넌트 스캔

jw90 2020. 11. 10. 22:22

컴포넌트스캔: 스프링에서 자동으로 빈으로 등록해주는 기능

@Component

public class ClassName



@Component("한정자")

public class ClassName

 

@Configuration

@ComponentScan(basePackages = {"targetPackage"})

public class ConfigClass



스캔대상 제외(해당 패키지의 Dao로 끝나는 대상 제외)

 

@ComponentScan(basePackage ={"targetPackage"}, excludeFilters = @Filter(type =FilterType.REGEX, pattern = "targetPackage\\..*Dao"))

 

특정 어노테이션 제외

-커스텀 어노테이션 생성

ex)

@Retention(RUNTIME)

@Target(TYPE)

 


public @interface ManualBean


excludeFilters = @Filter(type = FilterType.ANNOTATION, classes = {ManualBean.class} ))

 


기본스캔대상

@Component

@Controller

@Service

@Repository

@Aspect (이거 빼고 @Component 관련)

@Configuration