-
[Spring] Bean ScopeSpring 2025. 4. 15. 18:24
Spring
Bean Scope🔥 Bean Scope
🎯 Spring 컨테이너에서 Bean이 어떻게 생성되고 관리되는지를 정의하는 개념
🎯 Spring은 다양한 범위(스코프)를 제공하여 Bean의 생명주기를 설정할 수 있는데,
각 스코프는 Bean이 얼마나 오래 유지되는지, 여러 번 사용할 수 있는지 등을 결정합니다
🔥 Bean Scope 종류
싱글톤 프로토콜 


기본으로 설정되는 스코프이다
Spring 컨테이너 내에서 Bean이 하나만 생성되고 모든 요청이 같은 객체를 사용한다.- 요청할 때마다 새로운 인스턴스가 생성된다.
- 필요한 의존관계를 주입한다.
- 생성한 프로토타입 Bean을 클라이언트에게 반환한다.
- 컨테이너는 프로토타입 Bean의 생성, 의존관계 주입, 초기화 까지만 수행한다.
- 그 이후 생명주기(소멸, @PreDestroy)는 관리하지 않는다.
클라이언트가 직접 종료 메서드를 호출해야 한다.

Web 스코프 request HTTP 요청마다 새로운 Bean이 생성된다.
웹 요청이 들어오면 Bean 생성되고 요청이 (A전용 응답 B전용 응답 동시에) 완료 되면 소멸된다.
Spring MVC로 만든 Web Aplication에서 사용하는 방식.session - HTTP 세션 동안 하나의 Bean 인스턴스를 유지한다.
- 웹 세션이 시작되면 생성되고 종료될 때 소멸한다.
application - 서블릿 컨텍스트 내에서 Bean이 단일 인스턴스로 존재한다.
- 애플리케이션이 구동되는 동안 동일한 객체가 유지된다.
'Spring' 카테고리의 다른 글
[Spring] 연관관계1 (1) 2025.04.16 [Spring] API 예외 처리 @ExceptionHandler (0) 2025.04.15 [Spring] @PostConstruct, @PreDestroy (0) 2025.04.15 [Spring] Bean 생명 주기(2) (0) 2025.04.15 [Spring] 생명 주기 (0) 2025.04.15 - 요청할 때마다 새로운 인스턴스가 생성된다.
