본문 바로가기

공부 자료/Spring

[Spring Core] 컴포넌트 스캔 & 필터

[스캔]

1) @Component : 컴포넌트 스캔에서 사용

 

2) @Controller & @RestController : 스프링 MVC 및 REST 전용 컨트롤러에서 사용

 

3) @Service : 스프링 비즈니스 로직에서 사용(특별한 처리를 하지 않으며, 개발자들이 핵심 비즈니스 로직이 여기에 있다는 비즈니스 계층 인식에 도움이 됨)

 

4) @Repository : 스프링 데이터 접근 계층에서 사용해 해당 계층으로 인식 및 데이터 계층의 예외를 스프링 예외로 변환함

 

5) Configuration : 스프링 설정 정보에 사용해 스프링 설정 정보로 인식하고, 스프링 빈이 싱글톤을 유지하도록 추가 처리를 함

 

*1~5는 모두 @Component를 포함함

 

 

[필터]

1) includeFilters : 컴포넌트 스캔 대상을 추가로 지정

 

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

 

3) Filter Type 옵션

 : ANNOTATION - 기본값, 애너테이션으로 인식해 동작

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

 : ASPECTJ - AspectJ 패턴을 사용

: REGEX - 정규표현식을 나타냄

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