[Spring] @ComponentScan

헤일리의 개발 일지·2024년 2월 5일

스프링 빈을 등록하는 방법으로 아래 3가지 방법이 있다.

Spring Bean을 등록하는 방법

  1. @Bean 어노테이션 추가
  2. XML의 <bean>을 통해 추가
  3. 컴포넌트 스캔 기능 사용

그 중 컴포넌트 스캔을 활용하면 설정 정보가 없어도 자동으로 스프링 빈을 등록할 수 있다.


컴포넌트 스캔 사용 방법

우선 컴포넌트 스캔을 사용하기 위해서는 @ComponentScan 어노테이션을 설정 정보에 붙어주면 된다.
컴포넌트 스캔은 이름 그대로 @Component 어노테이션이 붙은 클래스를 스캔해서
스프링 빈으로 등록한다.

그러므로 빈으로 등록하고자 하는 클래스에 @Component 어노테이션을 추가하면 된다!

@Component 어노테이션 말고 @Configuration도 컴포넌트 스캔의 대상이다.

이유는 @Configuration 코드 내 @Component 어노테이션이 붙어있기 때문이다.


컴포넌트 스캔의 동작

@Component 어노테이션이 붙은 클래스를 스프링 빈으로 등록하고,
스프링 빈의 기본 이름은 클래스명을 사용하되 맨 앞글자를 소문자로 바꿔 저장한다.


컴포넌트 스캔의 기본 대상

  • @Component: 컴포넌트 스캔에서 사용
  • @Controller: 스프링 MVC 컨트롤러에서 사용
  • @Service: 스프링 비즈니즈 로직에서 사용
  • @Repository: 스프링 데이터 접근 계층에서 사용
  • @Configuration: 스프링 설정 정보에서 사용

출처: https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard

0개의 댓글