3.10.2. @Resource
@Autowired 애노테이션의 경우 타입으로 오토 와이어링을 하고 있습니다. 따라서 같은 타입이 여러개인 경우 예외가
발생합니다. 이 때 bean의 Name으로 종속성을 주입할 수 있는데 @Resource 애노테이션과 name 속성을 사용하면
됩니다.
public class SimpleMovieLister {
@Resource(name="myMovieFinder")
private MovieFinder movieFinder;
public void setMovieFinder(MovieFinder movieFinder) {
this.movieFinder = movieFinder;
}
public MovieFinder getMovieFinder() {
return movieFinder;
}
}
SimpleJndiBeanFactory를 명시적으로 설정해둔 경우에는 JNDI를 사용하여 해당 이름의 객체를 가져오지만 그렇치 않은 기본적인 경우에는 CommonAnnotationBeanPostProcessor를 사용하는 BeanFactory에서 가져옵니다.