빈 스코프에 대하여 공부해보았다.

 

빈 스코프란?

지금까지는 스프링 빈이 스프링 컨테이너가 만들어질때 빈들도 함께 생성 후 관리되며

스프링 빈이 종료될때 까지 유지된다고 학습했다. 이것은 빈이 기본적으로 싱글톤 스코프로 생성되기 때문이다.

스코프는 빈이 존재할 수 있는 범위를 말한다.

 

스프링의 다양한 스코프

싱글톤 : 기본 스코프로, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프이다.

프로토타입 : 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하는 짧은 범위 스코프이다.

 

웹 관련 스코프

request : 웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다.

session : 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프이다.

application : 웹의 서블릿 컨텍스와 같은 범위로 유지되는 스코프이다.

 

컴포넌트 스캔 방식의 경우

@Scope("prototype")
@Component
public class ScopeExample{}

 

수동 등록의 경우

@Scope("prototype")
@Bean
PrototypeBean ScopeExample(){
	return new ScopeExample();
    }

 

지금까지는 싱글톤 스코프를 계속 사용해왔던 것이다.

+ Recent posts