본문 바로가기
개발노트/Spring

@Autowired, @Resource, @Inject

by vendi2 2020. 10. 1.

@Autowired 란?

각 상황의 타입에 맞는 IoC 컨테이너 안에 존재하는 Bean을 자동으로 주입하게 해준다. 

 

- 객체를 자동 주입할 때 사용하는 어노테이션

- 스캔 명령을 통해 객체를 찾아 주입하는데 타입이름으로 검색한다.

- 타입을 찾아내지 못하면 (id 속성값)을 통해 검색한다

- 생성자, 필드, 메서드에 적용 가능하다. 

- 필드에 자동주입 설정을 수행할 때는 기본 생성자가 반드시 있어야 한다.

 

@Inject 

  @Autowired 어노테이션과 같다 => JavaSE 어노테이션

 

 

@Autowired 단점

[ .xml ] 파일에  동일타입의 빈이 2개가 등록되어 있을때 에러가 발생한다. 

" defined in class path resources "  

@Qualifier("bean id")

- Autowired를 사용할 때 동일 타입의 빈이 여러개 있을 경우  어떤 빈을 주입해야 하는지 선택해주는 추가 어노테이션

 

@Resource(name="bean id")

  @Autowired + @Qualifier 

'개발노트 > Spring' 카테고리의 다른 글

어떻게 HelloWorld 가 띄워졌을까?  (0) 2020.10.01
MVC2 모델  (0) 2020.10.01
prefix 에러  (0) 2020.09.27
DI ( Dependency Injection )  (0) 2020.09.27
프레임워크 개요  (0) 2020.09.27

댓글