티스토리 뷰
1. 빈 스코프(Bean Scope)의 종류
Spring의 Bean은 별다른 설정이 없으면 Singleton Scope로 생성된다. 특정 타입의 Bean을 하나만 만들어 두고 공유해서 사용하기 위해서인데, 이러한 까닭에 Bean에 상태를 저장하는 코드를 작성하는 것은 동시성 문제를 유별하여 위험한 상황을 초래할 수 있다. 하지만 요구사항과 구현 기능 등의 필요에 따라서 비싱글톤이 필요한 경우도 많다. 그리고 이를 명시적으로 구분하기 위해서 scope라는 키워드를 제공한다. Spring 에는 다음과 같은 Scope들이 존재한다.
[ Scope의 종류 ]
- 싱글톤
- Spring 프레임워크에서 기본이 되는 스코프
- 스프링 컨테이너의 시작과 종료까지 1개의 객체로 유지됨
- 프로토타입
- 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 스코프
- 요청이 오면 항상 새로운 인스턴스를 생성하여 반환하고 이후에 관리하지 않음
- 프로토타입을 받은 클라이언트가 객체를 관리해야 함
- 웹
- request: 각각의 요청이 들어오고 나갈때가지 유지되는 스코프
- session: 세션이 생성되고 종료될 때 까지 유지되는 스코프
- application: 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프
출처: https://mangkyu.tistory.com/117?category=761302 [MangKyu's Diary]
'Spring' 카테고리의 다른 글
[망나니 개발자] Dispatcher-Servlet이란? (0) | 2021.06.08 |
---|---|
[망나니 개발자] @Bean, @Configuration, @Component 어노테이션 (0) | 2021.06.08 |
[망나니 개발자] AOP의 개념 및 적용 방법 (0) | 2021.06.08 |
[망나니 개발자] 생성자 주입을 사용해야 하는 이유 (0) | 2021.06.08 |
[망나니 개발자] 빈(Bean)의 생성과 소멸에 대한 관리(초기화와 소멸자) (0) | 2021.06.08 |
댓글