Search
Duplicate
♟️

@Scope

@Scope는 빈 객체의 범위를 지정하여 해당 범위에서만 빈 객체를 공유하고 관리한다.
다양한 범위 옵션을 사용해 객체의 생명주기와 가시성을 효율적으로 관리할 수 있도록 한다.
빈은 기본적으로 싱글톤 객체로 생성되어 사용되어진다.

싱글톤 범위

싱글톤으로 정의하면 스프링 컨테이너는 해당 빈의 단일 인스턴스를 생성한다.
해당 빈 이름에 대한 모든 요청은 캐시되어있는 동일한 객체를 리턴한다.
객체에 대한 모든 변경사항은 모든 참조에 반영된다.

프로토타입 범위

프로토타입으로 정의하는 하는 경우, 요청될 때마다 다른 인스턴스를 반환한다.

웹 범위

웹과 관련된 어플리케이션에서만 사용할 수 있는 4개의 추가 범위가 존재한다.
Request, Session, Application, WebSocket