• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

@Autowired Target 질문

20.05.04 14:34 작성 조회수 169

0

@Autowired의 타겟에 ElementType.ANNOTATION_TYPE은 언제 사용하는 건가요? 

@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE})

@Autowire를 학습하고 있는 와중에 궁금한게 생겼습니다. 

Constructor, metod, field는 어떻게 사용하는지 알겠는데...

parameter이랑 annotation은 사용한적이 없기 때문에 이걸 어떻게 사용하는지 의문이 드네요.ㅜㅜ;;; 파라미터야 대충

@Override

public String print(@Autowired PetType petType, Locale locale) {

return petType.getName();

}

이렇게 하면 될것 같은데, 어노테이션은 어떻게 사용을 해야할지.. 감이 잡히지 않네요. 인터넷에 찾아보니까 어노테이션에 추가하는 거라고는 하는데, 커스텀 어노테이션을 만들고, 그곳에다 주입을 해주는 건지... 

아무튼... 이 두개는 아마 사용은 잘 하지 않을 것 같긴한데요. 스프링에 추가되어있어서 질문드립니다. 

다시 질문을 작성하자면, @Autowired에서 target으로 parameter이랑, annotation은 언제 사용되는건가요?

답변 3

·

답변을 작성해보세요.

0

박용훈님의 프로필

박용훈

질문자

2020.05.05

그렇군요... 제가 몰랐는데... 이제 알겠네요. 나중에 한번 써봐야 겠어요.ㅎㅎ 감사합니다. 

0

파라미터에 @Autowired를 쓰는 경우는 빈의 생성자나 메소드 파라미터를 통해 빈을 주입받고 싶을 때 쓸 수 있고, 애노테이션에 사용하는 경우는 @Autowired를 메타 애노테이션으로 사용해서 커스텀 애노테이션을 만들 때 씁니다.


0

박용훈님의 프로필

박용훈

질문자

2020.05.04

처음에는 annotation만 궁금했는데, 다시 보니 파라미터도 있더군여. 그래서 질문에 파라미터도 추가해서 질문합니다.ㅎㅎ