초리의 블로그

@Autowired 본문

임시 저장

@Autowired

초리84 2017. 8. 29. 10:58

@Autowired
Spring에서 빈을 찾아 자동으로 수정자 메소드나 필드에 넣어주는 annotation.

@Autowired가 붙은 수정자 메소드가 있으면 파라미터 타입을 보고 주입 가능한 타입의 빈을 모두 찾는다.

주입 가능한 타입의 빈이 하나라면 수정자 메소드를 호출해서 넣어준다.

두 개 이상이면 그중에서 프로퍼티와 동일한 이름의 빈이 있는지 찾는다.

타입과 이름을 모두 비교해도 최종 후보를 찾아내지 못하면 주입할 빈을 찾을 수 없다는 에러가 난다.

수정자 메소드 대신 필드에 직접 사용할 수도 있다.

이때 필드의 접근 제한자가 private이어도 상관 없다.
리플렉션 API를 이용해 제약조건을 피해서 값을 넣어준다.

- 토비의 스프링 3.1 p.672~p.673

Comments