컴포넌트 스캔

yseo14·2023년 7월 3일

Spring

목록 보기
4/7

컴포넌트 스캔이란?

  • 지금까지는 @Bean을 일일이 작성함으로써 스프링 빈을 등록
    --> 등록할 빈이 많아지면 귀찮음은 물론 누락하는 일도 발생할 수 있음

  • 컴포넌트 스캔을 이용하여 자동으로 스프링 빈을 등록하자!
    --> 어떻게? @ComponentScan@Component라는 애노테이션을 활용.

컴포넌트 스캔은 @Component 애노테이션이 붙은 클래스를 스캔해서 자동으로 스프링 빈으로 등록해줌.


의존관계 자동 주입

  • 기존의 @Bean을 이용할때는 직접 명시하여 줬던 의존관계 주입은 어떻게..?

    --> @Autowired 애노테이션을 사용하여 자동으로 의존관계 주입

생성자에 @Autowired를 지정하면 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입한다.
-> 기본적으로는 타입이 같은 빈을 찾아서 주입.


설정 정보 클래스에서 basePackages를 지정해주지 않으면
@ComponentScan이 붙은 설정 정보 클래스의 패키지가 시작 위치가 됨.

@ComponenetScan{
	basePackages= "hello.core",
}

**권장 방법은 패키지 위치를 지정하지 않고, 설정 정보 클래스의 위치를 프로젝트 최상단에 두는 것.

profile
like the water flowing

0개의 댓글