스테레오타입 애너테이션으로 프로토타입 스코프 빈 선언하기
sq-ch5-ex6 프로젝트를 생성하여 프로토타입 스코프로 오토와이어링된 빈 동작도 관찰해 보자. CommentRepository 프로토타입 빈을 정의하고 다른 서비스 빈 두 개에 @Autowired로 빈을 삽입한다. 각 서비스 빈이 서로 다른 CommentRepository 인스턴스를 참조하고 있다는 것을 관찰할 것이다. 이 시나리오는 5.1절에서 싱글톤 스코프 빈을 사용한 예제와 유사하지만, 이제 CommentRepository 빈은 프로토타입이다. 그림 5-8은 빈 간 관계를 설명한다.
다음 코드는 CommentRepository 클래스 정의를 보여 준다. 빈 스코프를 프로토타입으로 변경하려면 클래스에 추가된 @Scope 애너테이션을 확인하라.
@Repository
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class CommentRepository {
}