@Component란?

스프링 프레임워크는 어노테이션을 통해 빈(Bean) 객체를 생성할 수 있습니다.
스프링 컨테이너는 컴포넌트 스캔을 통해 자동으로 @Component가 붙은 클래스를 찾아 빈 객체로 등록 시켜주는데, 이 때 @Controller / @Service / @Repository / @Mapper / @Configuration 등의 어노테이션들도 @Component의 하위 어노테이션이기 떄문에 빈 객체로 등록시켜줍니다.
즉, @Component는 클래스를 빈 객체로 등록시켜주는 어노테이션들의 최상위 부모 어노테이션이라고 할 수 있겠습니다.

 

하위 어노테이션들의 기능 및 용도

@Controller 맵핑 또는 HTTP 관련 기능을 하는 하위 어노테이션을 사용 할 수 있는 Controller 클래스라는 것을 인식시켜줌 ( ex : @GetMapping, @ResponseBody )
@Service 어노테이션 자체에 기능은 없으나, 명시적으로 서비스 로직과 관련된 클래스라는 것을 인식시켜줌
@Repository 데이터 접근 계층으로 인식하여 예외 처리를 도와줌, 일반적으로 DAO 클래스에 붙혀줌
@Mapper myBatis를 사용하여 DB에 접근할 때, xml에 기재된 SQL을 인식하기 위해 사용
@Configuration 스프링의 설정을 도와주는 클래스임을 인식시켜주어, DB 접근 / 보안 설정 / 파일 업로드 등을 구현할 떄 사용

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기