컴포넌트 스캔 어노테이션 정리

G-NOTE·2021년 11월 19일
0

Spring

목록 보기
3/14

컴포넌트 스캔이 어노테이션을 기반으로 등록할 빈을 검색해서 자동 등록해주는 기능

@ComponentScan

  • @Component가 붙은 클래스를 스캔해서 스프링 빈으로 등록한다. 이때, 스프링 빈의 기본 이름은 클래스명을 사용한다. (앞글자는 소문자로)
  • 빈 이름을 직접 지정하고 싶은 경우,
@Component("대체이름")

@Component

  • 스프링 빈을 등록하는 어노테이션으로, 클래스 자체를 스프링 빈에 등록한다.
  • @Autowired로 의존성 자동 주입이 가능하다.

@Repository

  • 스프링 데이터 접근 계층에서 사용한다.
  • 스프링 데이터 접근 계층으로 인식하고, 데이터 계층의 예외르 스프링 예외로 변환해준다.

@Service

  • 스프링 비즈니스 로직에서 사용한다.
  • 특별한 처리는 없으나 개발자들이 핵심 비즈니스 로직이 어디 있는지(비즈니스 계층) 인식하는데 도움을 준다.

@Controller

  • 해당 클래스를 Controller로 사용할 것이라고 스프링 프레임워크에 알린다. (스프링 빈으로 등록된다.)
  • 내부에 @Component 어노테이션이 있어서 컴포넌트 스캔의 대상이 된다. 즉, @Component의 구체화된 어노테이션이라고 볼 수 있다.
  • 필요한 비즈니스 로직을 호출하여 전달할 Model과 이동할 View 정보를 DispatcherServlet에 반환한다.
profile
FE Developer

0개의 댓글