CS/Spring

[CS/Spring] Spring Bean Scope / Spring의 스코프 프로토 타입 빈

dbfl9911 2025. 3. 26. 15:50


 

 

Spring Bean Scope

  • Bean Scope는 Bean이 존재할 수 있는 범위를 뜻하며, 종류로는 싱글톤 / 프로토타입 / request / session / application 등이 있습니다. 

 


 

 Spring Bean Scope 종류

  • singleton : 싱글톤은 기본 스코프로 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프입니다. 
  • prototype : 프로토타입은 Bean의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프입니다. 
  • request : 웹 요청이 들어오고 나갈때까지 유지하는 스코프입니다. 
  • session : 웹 세션이 생성, 종료할때까지 유지하는 스코프입니다. 
  • application : 웹 서블릿 컨텍스트와 같은 범위로 유지하는 스코프입니다. 

 

 


 

 

 Spring의 스코프 프로토타입 빈

  • 프로토타입 빈은 싱글톤 빈과는 달리 컨테이너에게 빈을 요청할 때마다 매번 새로운 객체를 생성해서 반환해줍니다. 
  • 이렇게 빈의 스코프를 간단하게 관리해줄 수 있는 것이 스프링의 장점입니다. 
  • 빈의 scope 설정은 @Scope 어노테이션으로 설정하며, 프로토타입 scope로 설정하려면 @Scope("prototype")와 같이 문자열로 지정해줍니다. 
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
 
@Scope("prototype")
@Component
public class UserController {
}

 

 


 

* 위 글은 아래 문서를 참고해 작성했습니다. 

https://github.com/ksundong/backend-interview-question

 

GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질

백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질문, 인터넷 참고한 질문(CC BY-NC) - ksundong/backend-interview-question

github.com

https://dev-coco.tistory.com/163

 

신입 개발자 기술면접 질문 정리 - 백엔드

💡 WAS(Web Application Server)와 WS(Web Server)의 차이를 설명해주세요. WAS(Web Application Server) 비즈니스 로직을 넣을 수 있음 Tomcat, PHP, ASP, .NET 등 WS(Web Server) 비즈니스 로직을 넣을 수 없음 Nginx, Apache 등

dev-coco.tistory.com

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Web/Spring/%5BSpring%5D%20Bean%20Scope.md

 

tech-interview-for-developer/Web/Spring/[Spring] Bean Scope.md at master · gyoogle/tech-interview-for-developer

👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.

github.com