빈 스코프란

SionBackEnd·2022년 8월 15일
0

Spring(봄)

목록 보기
5/22
post-thumbnail

빈 스코프

Bean definition이 레시피라는 개념이 중요하다.

Bean definition = 빈이 존재할 수 잇는 범위를 의미한다.

ScopeDescription
singleton(Default) 각 Spring 컨테이너에 대한 단일 객체 인스턴스에 대한 단일 bean definition의 범위를 지정한다.
prototype스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다.
request웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다.
session웹 세션이 생성되고 종료될 때 까지 유지되는 스코프이다.
application웹의 서블릿 컨텍스와 같은 범위로 유지되는 스코프이다.
websocket단일 bean definition 범위를 WebSocket의 라이프사이클까지 확장한다. Spring ApplicationContext의 컨텍스트에서만 유효하다.
  • 특정 bean정의에서 생선된 개체에 연결할 다양한 의존성 및 구성 값뿐만 아니라 특정 bean정의에서 생성된 개체의 범위도 제어할 수 있다.

  • Spring Framework는 6개의 범위를 지원하며, 그중 4개는 ApplicationContext를 사용하는 경우에만 사용할 수 있다.

  • 구성을 통해 생성하는 개체의 범위를 선택할 수 있기 때문에 강력하고 유연하다.

  • 사용자 정의 범위를 생성할 수 있다.

정리

정리를 해보자면 빈스코프는 bean의 범위를 지정해주는것이다.
언제 사라질지, 언제 어떻게 사용할 것인지..
그래서 Bean definition이 레시피인것이다. 특정 bean에 대한 설명서(레시피)
(내가 이해한 내용)

profile
많은 도움 얻어가시길 바랍니다!

0개의 댓글