Spring IoC Container 4부
Spring IoC 컨테이너와 빈 - 4부
백기선님의 강의인 Spring 프레임워크 핵심 기술 편의 IoC Container
를 학습한 내용을 정리한 글
@Componect와 컴포넌트 스캔
컴포넌트 스캔이란?
@Component 어노테이션으로 등록된 객체들을 찾아서 IoC 컨테이너에 빈으로 등록
컴포넌트 스캔에서 수정할 수 있는 부분
- 스캔 위치 설정
- 필터 : 어떤 어노테이션을 스캔할지, 안할지
@ComponentScan 어노테이션이 붙어있는 클래스와 같은 패키지 범위 내의 빈을 등록 가능.
당연히 해당 어노테이션이 부착된 어노테이션 범위 밖의 클래스들은 ComponentScan의 범위를 벗어나기 때문에 빈 등록이 불가능
@Component
의 종류
- @Repository
- @Service
- @Controller
- @Configuration
Functional한 빈 등록 방법
- Application Context를 만들 때 빈 등록 가능
- 그러나 모든 빈들을 Functional하게 등록하는 것은 불편! ComponentScan이 등장하게 된 것도 이러한 방법이 불편하기 때문이었음.
- 때문에 @Bean 어노테이션으로 등록하는 빈의 경우라면 Functional하게 등록하는 것을 고려해볼만 함
Reference
인프런 백기선님의 스프링 프레임워크 핵심 기술 강좌