• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

어노테이션 사용법에 대해 (feat: @ComponentScan.Filter)

23.12.11 09:48 작성 조회수 162

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

안녕하세요. "컴포넌트 스캔과 의존관계 자동 주입 시작하기" 강의를 듣던 중 궁금한 것이 생겼습니다. 다른 언어를 주로 사용한 제가 자바 어노테이션에 익숙하지 않아서 생기는 궁금증인 것 같습니다.

Screenshot 2023-12-10 at 5.42.53 PM.png

위의 코드를 보면 @ComponentScan의 인자로 @ComponentScan.Filter가 사용되는 것을 볼 수 있습니다. 근데 특이하게 '@'가 붙어있습니다.

반대로 Configuration는 어노테이션인데도 불구하고 "@Configuration.class"가 아닌 "Configuration.class"라고 쓰입니다.

왜 어떤 것은 @가 붙고 어떤 것은 @이 안 붙는지 알 수 있을까요? reference로는 뭘 보면 될까요?

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2023.12.11

안녕하세요. ybjeon01님, 공식 서포터즈 y2gcoder입니다.

애노테이션 정의나, 애노테이션 사용 시에 @ 기호를 붙이고, 애노테이션의 타입을 참조하고 싶을 때는 그냥 보통 클래스처럼 @기호를 제거한 후 Annotation.class 형식을 사용하는 것 같습니다!

예제에서 보시면 @ComponentScan.Filter는 해당 애노테이션 속성을 설정하면서 사용하고 있기 때문에 @ 기호를 붙였고, Configuration.class는 타입 자체를 참조하기 위해 @ 기호를 붙이지 않았다고 볼 수 있습니다!

감사합니다.