[Spring] Spring Bean Scope

Kyungmin·2023년 10월 7일
0

Spring

목록 보기
2/39
post-thumbnail

1. Spring Bean Scope

Bean Scope 는 말 그대로 빈이 존재할 수 있는 범위를 뜻합니다.
스프링은 다음과 같은 다양한 스코프를 지원합니다.

싱글톤(Singleton)

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

프로토타입(Prototype)

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

웹(web) 관련 스코프

  1. request : 웹 요청이 들어오고 나갈 때까지 유지되는 스코프, 웹 애플리케이션에는 HTTP 요청이라는게 있는데 ,  Request 스코프의 경우 HTTP 요청당 객체 인스턴스 하나가 생성됩니다.
  2. session : 동일한 사용자에서 속하는 여러 번의 요청이 같은 세션에 속해 있을 수 있습니다.
    Session 스코프에 경우 사용자 HTTP 세션당 객체 인스턴스 하나가 생성됩니다. 
  3. application : 웹 애플리케이션 전체에 객체 인스턴스가 하나.
    웹소켓 인스턴스당 객체 인스턴스 하나

2. Scope( Singleton & Prototype )

  1. Singletone
    기본적으로 스프링에서 생성되는 모든 bean은 싱글톤.
    싱글톤은 spring IOC 컨테이너당 객체 인스턴스가 딱 하나.
    Spring IOC 컨테이너에서 같은 인스턴스를 다시 사용하고 싶다면 싱글톤 사용.

  2. Prototype
    프로토타입에서는 spring IOC 컨테이너당 객체. 인스턴스가 여러개 일 수 있음
    spring  컨테이너에서 bean을 요청할 때마다 특정한 bean의
    새 인스턴스를 생성 

3. Scope(Singleton vs Prototype)

profile
Backend Developer

0개의 댓글

관련 채용 정보