개발 관련 지식/Spring Framework Basic
@Autowired
권태일1147
2020. 5. 26. 23:26
@Autowired 가 사용될 수 있는 곳이 세 군데 있다.
필드, 오버로드된 생성자, setter 메소드
필드에 @Autowired를 사용하면 기본 생성자를 통해서 객체가 생성될 때 필드에 적절한 객체가 참조된다.
오버로드 생성자나 setter 메소드에는 파라미터에 적절한 객체가 들어간다.
@Autowired 시 적절한 객체가 없을 때에도 동작하게 할 수 있는 required = false 옵션이 있다.
그리고, 적절한 객체가 많을 때에 객체의 id로 특정 지을 수 있게 해주는 @Qualifier("")도 있다.
설정 파일에 context 네임스페이스와 <context:annotation-config />가 있어야 컨테이너가 생성한 객체들 안에 어노테이션이 있는지 찾아본다.
<context:component-scan />이 있는 경우에는 @Component 를 찾으면서 @Autowired도 읽게 됨으로 <context:annotation-config /> 가 필요 없어진다.