@Bean으로 프로토타입 스코프의 빈 선언하기
더 알아보기 위해 프로토타입 빈을 관리하는 스프링의 동작을 보여 주는 sq-ch-ex5 프로젝트를 작성하고 실제로 확인해 볼 것이다. CommentService라는 빈을 생성하고 프로토타입으로 선언하여 해당 빈을 요청할 때마다 새로운 인스턴스를 얻는다는 것을 확인할 수 있다. 다음 코드는 CommentService 클래스를 보여 준다.
public class CommentService {
}
다음 예제에서 볼 수 있는 것처럼 구성 클래스에서 CommentService 클래스를 사용하여 빈을 정의한다.
예제 5-4 구성 클래스에서 프로토타입 빈 선언하기
@Configuration
public class ProjectConfig {
@Bean
@Scope(BeanDefinition.SCOPE_PROTOTYPE) ← 이 빈을 프로토타입 스코프로 만든다.
public CommentService commentService() {
return new CommentService();
}
}