스프링 빈(Bean)
: 스프링 컨테이너에서 관리하는 자바 객체
**스코프**
: 존재할 수 있는 범위
즉, 빈 스코프는 스프링 빈이 존재할수 있는 범위를 뜻한다. 지금까지는 기본적으로 스프링 컨테이너에서 스프링 빈이 싱글톤 스코프로 생성되었기 때문에, 스프링 컨테이너와 생명주기를 같이 했기에 신경쓸 필요가 없었다.
하지만, 빈 스코프를 어떻게 설정하느냐에 따라 스프링 빈의 생성과 소멸을 클라이언트에서 관리해줘야하는 경우도 생길 수 있고, 다양한 요구사항에 맞는 스코프를 지정해 사용할 수 있다.
request
: 웹 요청이 들어오고 나갈때까지 유지되는 스코프session
: 웹 세션이 생셩되고 종료될 때까지 유지되는 스코프.application
: 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프컴포넌트 스캔 자동 등록
@Scope("prototype")
@Component
public class PrototypeBean {}
수동 등록
@Scope("prototype")
@Bean
PrototypeBean prototypeBean(){
return new PrototypeBean();
}