빈 스코프에 대하여 공부해보았다.
빈 스코프란?
지금까지는 스프링 빈이 스프링 컨테이너가 만들어질때 빈들도 함께 생성 후 관리되며
스프링 빈이 종료될때 까지 유지된다고 학습했다. 이것은 빈이 기본적으로 싱글톤 스코프로 생성되기 때문이다.
스코프는 빈이 존재할 수 있는 범위를 말한다.
스프링의 다양한 스코프
싱글톤 : 기본 스코프로, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프이다.
프로토타입 : 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하는 짧은 범위 스코프이다.
웹 관련 스코프
request : 웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다.
session : 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프이다.
application : 웹의 서블릿 컨텍스와 같은 범위로 유지되는 스코프이다.
컴포넌트 스캔 방식의 경우
@Scope("prototype")
@Component
public class ScopeExample{}
수동 등록의 경우
@Scope("prototype")
@Bean
PrototypeBean ScopeExample(){
return new ScopeExample();
}
지금까지는 싱글톤 스코프를 계속 사용해왔던 것이다.
'웹프로그래밍 > Spring 핵심 원리' 카테고리의 다른 글
49. 프로토타입 스코프 - 싱글톤 빈과 사용시 문제점 (0) | 2021.09.01 |
---|---|
48. 프로토타입 스코프 (0) | 2021.08.23 |
46. 애너테이션 @PostConstruct, @PreDestroy (0) | 2021.08.20 |
45. 빈 등록 초기화, 소멸 메서드 (0) | 2021.08.20 |
44. 인터페이스 InitializingBean, DisposableBean (0) | 2021.08.20 |