3.10.1. @Autowired
Spring/Chapter 3 : 2007. 7. 30. 20:09
@Autowired 애노테이션을 붙여서 종속성을 주입할 수 있는데 XML 기반 설정파일에서의 오토 와이어링 설정 보다 더 유연하고 확장성이 좋아졌습니다.
주의 할 것은 종속성을 주입할 후보자가 아무것도 없다면 에러가 발생한다는 것입니다. 즉 @Autowired 애노테이션이 붙은 메소드, 생성자, 필드의 경우 기본으로 필수 요소로 인식합니다. 이를 원치 않을 때는 다음과 같이 설정할 수 있습니다.
@Autowired(required = false)
Spring 2.1 M1에서는 해당 속성이 없습니다. Spring 2.1 M2 부터 지원하고 있습니다.

Spring 2.1 M2에서도 지원하고 있는 속성이 딱 한 개 입니다. 타입으로 종속성 주입할 대상을 찾습니다.
- 일반 적인 setter 위에 붙일 수 있습니다.
- 메소드의 이름이 굳이 setter 형식일 필요가 없습니다.
- 필드와 생성자에도 붙일 수 있습니다.
public class SimpleMovieLister {
@Autowired
private MovieFinder movieFinder;
public void setMovieFinder(MovieFinder movieFinder) {
this.movieFinder = movieFinder;
}
public MovieFinder getMovieFinder() {
return movieFinder;
}
}
@Autowired
private MovieFinder movieFinder;
public void setMovieFinder(MovieFinder movieFinder) {
this.movieFinder = movieFinder;
}
public MovieFinder getMovieFinder() {
return movieFinder;
}
}
주의 할 것은 종속성을 주입할 후보자가 아무것도 없다면 에러가 발생한다는 것입니다. 즉 @Autowired 애노테이션이 붙은 메소드, 생성자, 필드의 경우 기본으로 필수 요소로 인식합니다. 이를 원치 않을 때는 다음과 같이 설정할 수 있습니다.
@Autowired(required = false)
Spring 2.1 M1에서는 해당 속성이 없습니다. Spring 2.1 M2 부터 지원하고 있습니다.
Spring 2.1 M2에서도 지원하고 있는 속성이 딱 한 개 입니다. 타입으로 종속성 주입할 대상을 찾습니다.
'Spring > Chapter 3' 카테고리의 다른 글
3.11.2. Using filters to customize scanning (0) | 2007.08.06 |
---|---|
3.11. Classpath scanning for beans (0) | 2007.08.02 |
3.11.1. @Component and @Repository (0) | 2007.08.02 |
3.10.3. @PostConstruct and @PreDestroy (0) | 2007.07.30 |
3.10.2. @Resource (0) | 2007.07.30 |
3.10.1. @Autowired (0) | 2007.07.30 |
3.10. Annotation-based configuration (0) | 2007.07.30 |
Bean Life Cycle (2) | 2007.06.21 |
Spring에서 Bean을 언제 만들지? (5) | 2007.06.05 |
Spring Reference 3장 오타 (2) | 2007.05.22 |
Bean Life Cycle 콜백 인터페이스 사용 예(in Spring) (2) | 2007.05.11 |
TAG @Autowired 애노테이션