@Bean이란?

- 개발자가 컨트롤이 불가능한 외부 라이브러리들을 빈(Bean) 객체로 등록하고 싶을 때 사용
- 메소드 단위, 어노테이션 단위에서 빈 객체의 등록을 도와줌
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})

( 타겟이 METHOD, ANNOTATION_TYPE   → 수정이 불가능한 클래스를 메소드 단계에서 빈 객체로 등록할 때 주로 사용 )

 

@Component란?

- 개발자가 직접 컨트롤이 가능한 클래스를 빈(Bean)객체로 등록하고 싶을 때 사용
- 클래스, 인터페이스, 열거형의 단위에서 빈 객체의 등록을 도와줌 
@Target(ElementType.TYPE)

( 타겟이 TYPE → 클래스, 인터페이스 ,열거형에서만 사용 )

 

어노테이션 내부의 타겟이 서로 다르기 때문에 혼용은 불가 !
잘못된 타입의 타겟으로 어노테이션 사용 시, 컴파일 에러 발생 !

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