[Spring] 빈의 스코프

박재연·2022년 2월 12일
0

Spring

목록 보기
3/3

스코프

  • 기본적으로 싱글톤을 유지(@Component, @Service, @Controller...)

프로토 타입으로 변경하고 싶다면?

@Component @Scope(value = "prototype")

위 코드와 같이 설정하여 Prototype으로 변경 가능하다.

싱글톤 빈에서 프로토 타입 빈을 참조하면?

  • 기본적으로 싱글톤으로 생성된 후 내부에 있는 프로토 타입의 빈을 참조하는 방식이기 때문에 내부의 프로토 타입 빈이 마치 싱글톤으로 선언된 것 처럼 동작한다.

업데이트 하려면?

  • 프록시로 프로토 타입 빈을 묶어준다. (proxyMode는 상황에 따라 변경 가능)
@Component @Scope(value = "prototype", proxyMode = ScopedProxyMode.TARGET_CLASS)

해서 생성되는 싱글톤 빈에서 프로토 타입 빈을 참조하려면 프로토 타입 빈의 프록시를 호출하여 처리

0개의 댓글